답변:
종종와 같은 이벤트 처리기에서 onsubmit
false를 반환하면 실제로 발생하지 않도록 이벤트에 알리는 방법입니다. 따라서이 onsubmit
경우 양식이 제출되지 않았 음을 의미합니다.
event.preventDefault()
하면이 기능 을 사용하는 것이 좋습니다 . 거짓 반환은 더 이상 사용되지 않으며 더 이상 항상 작동하지는 않습니다.
return false
메소드에 있습니다. 이것이 무엇을 변경합니까?
나는 당신이 종종 '거짓을 돌려줘야한다'는 사실을 언급하고 있다고 추측합니다. 이벤트 핸들러의 문장, 즉
<a href="#" onclick="doSomeFunction(); return false;">...
'거짓을 돌려라' 이 경우 href = "#"로 표시된대로 브라우저가 현재 위치로 점프하는 것을 중지합니다. 대신 doSomeFunction () 만 실행됩니다. 앵커 태그에 이벤트를 추가하려고 할 때 유용하지만, 클릭 할 때마다 브라우저가 각 앵커로 위아래로 점프하고 싶지는 않습니다.
이벤트 전파 를 중지하는 데 사용됩니다 . click 이벤트 핸들러와 함께 두 가지 요소가 모두있는 경우 (예 :)
-----------------------------------
| element1 |
| ------------------------- |
| |element2 | |
| ------------------------- |
| |
-----------------------------------
내부 요소 (element2)를 클릭하면 1과 2 요소 모두에서 클릭 이벤트가 트리거됩니다. "이벤트 버블 링"이라고합니다. element2에서만 이벤트를 처리하려는 경우, 이벤트 핸들러는 이벤트 전파를 중지하기 위해 false를 리턴해야합니다.
또 다른 예는 링크 클릭 핸들러입니다. 링크 양식 작동을 중지하려는 경우. onclick 핸들러를 추가하고 false를 리턴 할 수 있습니다. 이벤트가 기본 핸들러로 전파되는 것을 중지합니다.
false
이벤트 처리기에서 복귀 하면 이벤트와 관련된 기본 동작이 방지됩니다. 전화 event.preventDefault()
또는 설정 event.returnValue = false
(IE)을 통해이 작업을 수행 할 수도 있습니다 . 이벤트가 버블 링되는 것을 막으려면 전화 event.stopPropagation()
또는 설정 event.cancelBubble = true
(IE)
어 ... 부울 함수에서 '참이 아님'을 나타내는 방법은 어떻습니까?
또한 'js,'return false '를 사용할 때 검색 한 후이 페이지를 방문했습니다. 다른 검색 결과 중에는 Chris Coyier의 CSS-Tricks 사이트에서 훨씬 더 유용하고 간단하게 발견 된 페이지가 있습니다. 'return false;'의 차이점 그리고 'e.preventDefault ();'
그의 기사의 요지는 :
function () {return false; }
// 동일하다
함수 (e) {e.preventDefault (); e.stopPropagation (); }
그래도 전체 기사를 읽는 것이 좋습니다.
업데이트 : return false 사용의 장점을 주장한 후; e.preventDefault ()를 대체합니다. & e.stopPropagation (); 내 동료 중 한 명이이 기사에서 설명한 것처럼 false 반환은 콜백 실행을 중지한다고 지적했습니다. jQuery Events : Return False 사용 중지 (Mis) .
function() { return false; }
EQUAL하는 것입니다 function(e) { e.preventDefault(); e.stopPropagation(); }
,하지만 순수한 JS, 그것은 동일하지, function() { return false; }
같은 IS function(e) { e.preventDefault(); }
사실. 그것은 하지 않습니다 전파를 중지합니다.
앵커 태그에서 자바 스크립트 코드를 트리거하려면 자바 스크립트 (pseudo-protocol) 대신 onclick 핸들러를 사용해야합니다. onclick 핸들러 내에서 실행되는 자바 스크립트 코드는 true 또는 false (또는 evalues가 true 또는 false 인 표현식)를 태그 자체로 다시 반환해야합니다. true를 반환하면 앵커의 HREF가 일반 링크처럼 따라옵니다. false를 반환하면 HREF가 무시됩니다. 이것이 "거짓을 돌려주는 이유"입니다. 은 종종 onclick 핸들러 내 코드의 끝에 포함됩니다.
함수에서 return 문이 호출되면이 함수의 실행이 중지됩니다. 지정된 경우 지정된 값이 함수 호출자에게 리턴됩니다. 표현식이 생략되면 undefined가 대신 리턴됩니다.
자세한 내용은 MDN 문서 페이지를 참조하십시오return
.
기능에 착용 된 기능이 있거나 (일부 테스트에 의해) 일부 기능을 중지하려는 경우에만 false를 리턴하십시오. 예를 들어 "onsubmit"끝에 return false를 사용하십시오.
또한이 짧고 흥미로운 링크는 https://www.w3schools.com/jsref/event_preventdefault.asp를
정의와 사용법
preventDefault () 메소드는 이벤트가 취소 가능한 경우 이벤트를 취소합니다. 즉, 이벤트에 속하는 기본 조치가 발생하지 않습니다.
예를 들어, 다음과 같은 경우에 유용 할 수 있습니다.
Clicking on a "Submit" button, prevent it from submitting a form
Clicking on a link, prevent the link from following the URL
참고 : 모든 이벤트가 취소 가능한 것은 아닙니다. cancelable 속성을 사용하여 이벤트가 취소 가능한지 확인하십시오.
참고 : preventDefault () 메소드는 DOM을 통한 이벤트 전파를 막지 않습니다. 이를 처리하려면 stopPropagation () 메소드를 사용하십시오.