버튼이 있고 클릭하면 HTML 요소에 클래스가 추가되지만 .class를 클릭하면 감지되지 않습니다. HTML 요소의 클래스 감지가 올바르게 작동하지 않습니다.
이
은 사용 사례입니다 :- 클릭 버튼 - "testerclass"HTML 요소에 추가됩니다
- "testerclass은"클릭 - 해당 요소
검출에서 해당 클래스를 제거 왜냐하면 "testerclass"가 클릭되었을 때 클래스가 페이지로드 전에 존재할 때만 작동하는 것 같습니다.로드 후에 수동으로 클래스를 추가 할 때가 아닙니다. 이 문제와 관련이 있습니까?
jsfiddle에서 문제를 재현하려고했지만 jsfiddle에서 편집 할 수 없기 때문에 클래스가 이미 HTML 요소에 추가 된 사용 사례를 다시 만들 수 없습니다.
그러나 here is jsfiddle one이 버튼에서는 buttonone이 클래스를 HTML에 추가하지만 .testerclass 클릭에 대한 감지는 결코 이루어지지 않습니다.
및 here is jsfiddle two. 이 중 하나에서 .testerclass 선택기를 html
으로 변경했으며 HTML 클릭 수가 급증하고 있음을 알 수 있습니다 (처음이 문제를 겪었을 때 확실하지 않았습니다).
그리고 오프라인 HTML 요소에 이미 testerclass가있는 세 번째 테스트 사례를 작성했으며이를 통해 전송 된 클릭을 감지했습니다.
$(document).ready(function() {
$('button.1').click(function() {
$('html').addClass('testerclass');
$('.test').append('"testerclass" added to html<br />');
});
$('.testerclass').click(function() {
$('.test').append('testerclass clicked and removed<br />');
$('html').removeClass('testerclass');
});
});
편집 : 나는 또한 약간 다른 방법으로이 일을 시도 :
$('html').click(function() {
if(this).hasClass('testerclass') {
//do stuff
}
});
을하지만 그 중 하나가 작동하지 않았다.
잘 작동합니다! 전파에 멈추지 않고 시도했지만 실제로는 그것을하는 두 번째 선택기! 감사 :) – user2992596