>  기사  >  웹 프론트엔드  >  return false와 e.preventDefault();_javascript 기술의 차이점

return false와 e.preventDefault();_javascript 기술의 차이점

WBOY
WBOY원래의
2016-05-16 18:23:181104검색

jQuery에서 (제목에 있는) 두 가지가 사용되는 것을 본 적이 있습니까? 다음은 간단한 예입니다.

复system代码 代码如下:

$("a") .click(function() {
$("body").append($(this).attr("href"));
false 반환;
}

해당 코드는 링크를 클릭할 때마다 본문에 href 속성을 추가하지만 실제로는 해당 링크로 이동하지 않습니다. 해당 코드의 반환 부분은 브라우저가 해당 링크에 대한 기본 작업을 수행하는 것을 방지합니다. 다음과 같이 쓸 수 있습니다:
复system代码 代码如下:

$("a") .click(function(e) {
$("body").append($(this).attr("href"));
e.preventDefault();
}

차이점은 무엇인가요?


false를 반환하면 해당 이벤트가 DOM에 전파(또는 "버블링")되는 것을 방지한다는 점에서 차이가 있습니다. 이 부분은 요소에서 이벤트가 발생할 때마다 해당 이벤트가 모든 단일 상위 요소에서도 트리거된다는 것입니다. 따라서 두 상자 모두에 클릭 이벤트가 있다고 가정해 보겠습니다. 그들을. 내부 상자를 클릭하면 전파를 방지하지 않는 한 외부 상자에서도 클릭이 트리거됩니다. 이렇습니다:
return false와 e.preventDefault();_javascript 기술의 차이점
演示地址:http://css-tricks.com/examples/ReturnFalse/
즉,
复代码 代码如下:

function() {
return false;
}

//

function(e) {
e.preventDefault();와 같습니다.
e.stopPropagation();
}

아마도 이보다 훨씬 더 복잡할 것이고 이와 같은 기사가 모든 것을 훨씬 더 잘 설명할 것입니다.


参考:

1.'거짓을 반환하다'의 차이; 및 'e.preventDefault();'
2.이벤트 순서

测试代码打包下载

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.