특정 이벤트가 발생한 후 다른 이벤트 처리기가 실행되지 않도록하려면 두 가지 기술 중 하나를 사용할 수 있습니다. 예제에서는 jQuery를 사용하지만 일반 JS에도 적용됩니다.
1. event.preventDefault()
$('a').click(function (e) {
// custom handling here
e.preventDefault();
});
2. return false
$('a').click(function () {
// custom handling here
return false;
});
이벤트 전파를 중지하는 두 가지 방법 사이에 중요한 차이점이 있습니까?
나를 위해, return false;
메소드를 실행하는 것보다 간단하고 짧으며 아마도 오류가 적습니다. 이 방법을 사용하면 올바른 케이스, 괄호 등을 기억해야합니다.
또한 메서드를 호출하려면 콜백에서 첫 번째 매개 변수를 정의해야합니다. 아마도 이런 식으로 피하고 preventDefault
대신 사용해야하는 몇 가지 이유가 있습니까? 더 좋은 방법은 무엇입니까?
preventDefault
는 다른 처리자가 실행되는 것을 막지 않습니다 . 그게 다야stopImmediatePropagation
.