"return false;"는 무엇을 합니까?
나는 사용자가 데이터베이스에 저장된 로그 항목을 입력하고 검색하여 페이지에 인쇄할 수 있는 웹 페이지를 작성했습니다.ajax
나는 아직 꽤 생소합니다.ajax
그리고 누군가가 나에게 무엇이 무엇인지 설명해줄 수 있는지 궁금했습니다.return false;
내 코드 끝에서 실행?그리고 그것이 필요한가요?
만약 내가 두 번째 아약스 코드를 다음에 넣는다면,return false
코드가 작동하지 않습니다! 왜 그런지 설명해 주시겠습니까?
//handles submitting the form without reloading page
$('#FormSubmit').submit(function(e) {
//stores the input of today's data
var log_entry = $("#LogEntry").val();
// prevent the form from submitting normally
e.preventDefault();
$.ajax({
type: 'POST',
url: 'behind_curtains.php',
data: {
logentry: log_entry
},
success: function() {
alert(log_entry);
//clears textbox after submission
$('#LogEntry').val("");
//presents successs text and then fades it out
$("#entered-log-success").html("Your Entry has been entered.");
$("#entered-log-success").show().fadeOut(3000);
}
});
//prints new log entries on page upon submittion
$.ajax({
type: 'POST',
url: '/wp-content/themes/childOfFanwood/traininglog_behind_curtains.php',
data: {
log_entries_loop: "true"
},
success: function(data) {
alert(data);
$("#log-entry-container").html("");
$("#log-entry-container").html(data);
}
});
return false;
});
여기에 쓸 내용은 jQuery 이벤트에 해당합니다.
바닐라 자바스크립트 이벤트의 경우 답변 하단에 있는 @T.J. 크라우더 코멘트를 읽습니다.
return false
콜백 내부에서는 기본 동작을 방지합니다.예를 들어, 다음과 같은 경우submit
이벤트, 그것은 양식을 제출하지 않습니다.
return false
또한 버블링이 중지되므로 요소의 부모는 이벤트가 발생한 것을 알지 못합니다.
return false
와 동등합니다.event.preventDefault()
+event.stopPropagation()
그리고 물론, 다음에 존재하는 모든 코드는return xxx
라인이 실행되지 않습니다.(내가 아는 모든 프로그래밍 언어와 마찬가지로)
이것이 도움이 될 수도 있습니다.
이벤트 버블링을 중지합니다. 성능이 향상됩니까?
차이를 설명하는 "실제" 데모return false
그리고.event.preventDefault()
:
마크업:
<div id="theDiv">
<form id="theForm" >
<input type="submit" value="submit"/>
</form>
</div>
JavaScript:
$('#theDiv').submit(function() {
alert('DIV!');
});
$('#theForm').submit(function(e) {
alert('FORM!');
e.preventDefault();
});
이제... 사용자가 양식을 제출하면 첫 번째 처리기가 양식 제출입니다.preventDefault()
-> 폼은 제출되지 않지만 이벤트가 div로 버블링되어 제출 핸들러가 트리거됩니다.
이제 양식 제출의 처리기가 다음을 포함한 버블링을 취소할 수 있습니다.return false
:
$('#theDiv').submit(function() {
alert('DIV!');
});
$('#theForm').submit(function(event) {
alert('FORM!');
return false;
// Or:
event.preventDefault();
event.stopPropagation();
});
디브는 양식 제출이 있었다는 것조차 모를 것입니다
무엇인가.return false
바닐라 자바스크립트 이벤트에서 실행
DOM2 핸들러에서 false를 반환합니다(
addEventListener
Microsoft DOM2-ish 핸들러에서 (기본값을 막지도 않고 버블링을 멈추지도 않습니다.)attachEvent
), DOM0 핸들러에서 기본값은 방지하지만 버블링은 방지합니다.onclick="return ..."
), 기본값(속성에 반환을 포함하는 경우)은 방지하지만 버블링은 방지합니다. jQuery 이벤트 핸들러에서는 jQuery와 같은 작업이기 때문에 둘 다 수행합니다.자세한 내용 및 실시간 테스트 – T.J. 크로더
다음 코드return
함수의 문은 절대 실행되지 않습니다.기능 실행을 중지하고 이 기능 반환 값을 전달합니다.false
이 경우).이벤트 콜백을 "제출"하는 것이 기능입니다.이 콜백이 반환되는 경우false
양식이 실제로 제출되지 않습니다.그렇지 않으면 JavaScript가 없는 것처럼 제출됩니다.
이경에는우,는,return false;
기본 작업(양식 제출)을 방지합니다.
비록 그것을 사용하는 것이 아마도 더 나을 것입니다.e.preventDefault();
아약스 때문에 당신은 당신의 양식이 정상적인 방법으로 제출되는 것을 원하지 않습니다.따라서 양식의 기본 동작을 방지하려면 false를 반환해야 합니다.
반환 문은 함수 실행을 종료합니다. 이것은 중요합니다.반환을 사용하면 코드가 단락되고 실행이 즉시 중지되어 다음 코드 행이 실행되지 않습니다.
언급URL : https://stackoverflow.com/questions/10729198/what-does-return-false-do
'programing' 카테고리의 다른 글
"git add, git commit" 이전 또는 이후에 "git pull"을 수행해야 합니까? (0) | 2023.08.21 |
---|---|
빈 이름을 참조하여 @Scheduled 주석에서 @ConfigurationProperties 사용 (0) | 2023.08.21 |
jquery를 사용하여 뷰포트를 기준으로 요소의 위치 가져오기 (0) | 2023.08.21 |
선택 요소에서 선택한 옵션 가져오기 (0) | 2023.08.21 |
null을 삽입할 때 기본값 삽입 (0) | 2023.08.21 |