jQuery 클릭 이벤트에서 false 반환
다음과 같이 클릭 이벤트를 설정했습니다.
$('.dialogLink')
.click(function () {
dialog(this);
return false;
});
모두 "거짓 반환"이 있습니다.
누군가 이것이 무엇을하고 필요한지 설명 할 수 있습니까?
false
이벤트 처리기에서 돌아 오면 해당 이벤트에 대한 기본 동작을 방지하고 DOM을 통해 이벤트 버블 링을 중지합니다. 즉, 다음을 수행하는 것과 동일합니다.
$('.dialogLink')
.click(function (event) {
dialog(this);
event.preventDefault();
event.stopPropagation();
});
경우 '.dialogLink'
인 <a>
요소는 다음 클릭에 대한 기본 조치는로 이동하는 것입니다 href
. false
클릭 핸들러에서 돌아 오면이 를 방지 할 수 있습니다.
귀하의 경우에 필요한지 여부에 관해서는 탐색보다는 클릭에 대한 응답으로 대화 상자를 표시하기를 원하기 때문에 대답이 예라고 생각합니다. 클릭 핸들러를 배치 한 요소에 클릭시 기본 동작이없는 경우 (예 : div를 클릭 할 때 일반적으로 아무 일도 발생하지 않음) 취소 할 항목이 없기 때문에 false를 반환 할 필요가 없습니다.
클릭에 대한 응답으로 무언가를 수행하고 싶지만 기본 탐색을 계속하려면 false를 반환하지 마십시오.
추가 읽기 :
이벤트 핸들러의 반환 값은 기본 브라우저 비헤이비어도 발생해야하는지 여부를 결정합니다. 링크를 클릭하는 경우 링크를 따라 가지만 사용자가 정보를 잘못 입력 한 경우 양식 제출을 취소 할 수있는 양식 제출 처리기에서 차이가 가장 두드러집니다.
나는 이것에 대한 W3C 사양이 있다고 생각하지 않습니다. 이와 같은 모든 고대 자바 스크립트 인터페이스에는 "DOM 0"이라는 별명이 주어졌으며 대부분 지정되지 않았습니다. 이전 Netscape 2 문서를 읽는 데 약간의 행운이있을 수 있습니다.
이 효과를 얻는 현대적인 방법은를 호출하는 event.preventDefault()
것이며 이는 DOM 2 이벤트 사양에 지정되어 있습니다.
따라서 올바른 방법은 다음과 같습니다.
$('.dialogLink')
.click(function (e) {
dialog(this);
e.preventDefault();
e.stopPropagation(); // Stop bubbling up
});
이벤트 핸들러의 반환 값은 기본 브라우저 비헤이비어도 발생해야하는지 여부를 결정합니다. 링크를 클릭하는 경우 링크를 따라 가지만 사용자가 정보를 잘못 입력 한 경우 양식 제출을 취소 할 수있는 양식 제출 처리기에서 차이가 가장 두드러집니다.
참조 URL : https://stackoverflow.com/questions/11184276/return-false-from-jquery-click-event
'IT Share you' 카테고리의 다른 글
Android에서 res / values / public.xml 파일의 용도는 무엇입니까? (0) | 2021.01.07 |
---|---|
MySQL에서 함수 기반 인덱스를 가질 수 있습니까? (0) | 2021.01.07 |
angularjs-ng-src 내에서 {{}} 바인딩을 사용하지만 ng-src가로드되지 않음 (0) | 2021.01.07 |
루프 변수가없는 C ++ 11 범위 기반 for 루프 (0) | 2021.01.07 |
Haskell의 DataKinds 확장은 무엇입니까? (0) | 2021.01.07 |