2017-12-28 8 views
0

브라우저에 $(document).mousemove 이벤트가 감지 될 때마다 호출되는 함수가 있습니다.

페이지에 문자 그대로 아무것도 없는데 성능이 뛰어납니다. 그러나 위에 일종의 마우스 및 div를 추가하자마자 내 함수가 두 번 호출됩니다. 한 번은 문서에서, 다시 한 번 요소에서 두 번 호출됩니다.

이 문제를 해결하는 가장 좋은 방법은 무엇입니까? 그러면 함수가 한 번만 트리거됩니다. 나는 대신 pointer-events을 none으로 설정하여 전체 화면, 투명 div에서 mousemove를 감지하는 방법에 대해 생각했지만이 방법을 사용하면 mousemove이 첫 번째 위치에서 실행되는 것을 방지 할 수 있습니다.

나는 e.stopPropagation()을 시도했지만 도움이되지 않았습니다.

+0

'e.preventDefault()'를 시도 했습니까? – codeMonkey

+3

Plunker/JSfiddle에 코드를 표시하면 좋을 것입니다. –

+0

당신이 묘사하는 것은 일어나서는 안됩니다. 실제 대상에서 이벤트가 하나만 발생하면 두 명의 청취자를 추가 할 수 있습니다. 그러면 실제 대상에서 조상을 통해 거품이 발생합니다. – Kaiido

답변

1

닫기지만 아주.

e.stopimmediatepropagation을 호출하면 다른 요소가 호출되지 않도록 e.stopPropagation()이 호출됩니다.

+0

운이 없습니다. JSFiddle이 도움이된다면 : https://jsfiddle.net/8eaa401v/ – Rich