페이지의 모든 DOM 요소에서 트리거되는 jQuery 이벤트가 있습니다. 지금은 괜찮지 만 이벤트 트리거를 방지하기 위해 DOM 선택에서 div (하위 div 포함)를 제외하는 방법이 필요합니다. 내가 jQuery의 시도했습니다 unbind()
, not()
그리고 off()
직접에 $('#myDiv')
, 그러나 사건은 여전히 트리거된다.
이벤트를 트리거하는 코드 :
$("*").each(function () {
// here are events bound to every DOM in the page
$(this).mouseover(mouseover).mouseout(mouseout).click(click);
});
나는 또한 시도했다
$("*:not(#myDiv)").each(function () {
// events
$(this).mouseover(mouseover).mouseout(mouseout).click(click);
});
여전히 #myDiv에서 이벤트를 제거 할 수 없습니다.
HTML :
<div id="myDiv">
<div class="data">
<!-- -->
</div>
<div class="debug">
<!-- -->
</div>
<div class="form">
<!-- -->
</div>
</div>
전체 DOM 선택을 수행하지만 #myDiv를 제외 하는 가장 좋은 방법은 무엇입니까? 그래서 이벤트를 바인딩 bind()
하거나 사용할 수 on()
있습니까?
참고 : DOM 트리에서 #myDiv를 제거하지 않고 선택에서 제외하고 싶습니다.
당신은 이것을 시도 할 수 있습니다
$(function(){
$('body > *').not('#myDiv')
.on('mouseover', function(){ //... })
.on('click', function(){ //... });
});
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다