2012-10-02 1 views
1

jQuery를 사용하여 하나의 클래스를 제외하고 mousemove 이벤트에서 전체 문서를 가져와야합니다.jQuery를 사용하여 문서에서 하나의 클래스를 제외한 이벤트 핸들러에서 문서를 가져 오는 방법은 무엇입니까?

내 수업은 no-mousemove-node입니다.

$(document).mousemove(
     function(e){ 
     .... 
});. 

나는 다음과 같은 시도하지,하지만 그것은이 작업을 수행하는 것이 가능

$(document).not('.no-mousemove-node').mousemove(
     function(e){ 
     .... 
});. 

작업? 이벤트 핸들러 내부

+0

당신이 그것을 시도 적이 있습니까? – ScottE

답변

2

사용 e.target 소스 요소가 당신의 기준과 일치하는지 확인하고, 그렇지 않은 경우 실행을 중단하려면 :

$(document).mousemove(
    function(e){ 
     if ($(e.target).is(".no-mousemove-node")) return; 
     // now do what you need 
    } 
}); 

업데이트 : 당신은 또한 .no-mousemove-node 사용의 후손을 필터링해야하는 경우 .closest 당신이 있는지 확인하거나 .no-mousemove-node하는 부모가하는 :

function(e){ 
    if ($(e.target).closest(".no-mousemove-node").length) return; 
} 
+0

웹 페이지에 'no-mousemove-node' 클래스가있는 컨테이너가 있습니다. 내부 요소도 포함됩니다. 따라서'e.target'은 내부 노드 클래스에있을 것입니다. 이 문제를 어떻게 분류합니까? –

+0

@JustinJohn : 답변을 업데이트했습니다. – Jon

+0

감사합니다. 완벽하게 작업했습니다. –

관련 문제