jQuery에서 (제목에 있는) 두 가지가 사용되는 것을 본 적이 있습니까? 다음은 간단한 예입니다.
$("a") .click(function() {
$("body").append($(this).attr("href"));
false 반환;
}
해당 코드는 링크를 클릭할 때마다 본문에 href 속성을 추가하지만 실제로는 해당 링크로 이동하지 않습니다. 해당 코드의 반환 부분은 브라우저가 해당 링크에 대한 기본 작업을 수행하는 것을 방지합니다. 다음과 같이 쓸 수 있습니다:
$("a") .click(function(e) {
$("body").append($(this).attr("href"));
e.preventDefault();
}
차이점은 무엇인가요?
false를 반환하면 해당 이벤트가 DOM에 전파(또는 "버블링")되는 것을 방지한다는 점에서 차이가 있습니다. 이 부분은 요소에서 이벤트가 발생할 때마다 해당 이벤트가 모든 단일 상위 요소에서도 트리거된다는 것입니다. 따라서 두 상자 모두에 클릭 이벤트가 있다고 가정해 보겠습니다. 그들을. 내부 상자를 클릭하면 전파를 방지하지 않는 한 외부 상자에서도 클릭이 트리거됩니다. 이렇습니다:
演示地址:
http://css-tricks.com/examples/ReturnFalse/
즉,
function() {
return false;
}
//
function(e) {
e.preventDefault();와 같습니다.
e.stopPropagation();
}
아마도 이보다 훨씬 더 복잡할 것이고 이와 같은 기사가 모든 것을 훨씬 더 잘 설명할 것입니다.
参考:
1.'거짓을 반환하다'의 차이; 및 'e.preventDefault();'
2.이벤트 순서
测试代码打包下载