를 해고하면 evt.preventDefault()
기본 작업을 다시 재개 하려면 어떻게해야합니까?
답변
@Prescott의 의견에 따르면 다음과 반대입니다.
evt.preventDefault();
될 수 있습니다 :
더 이상 방해하지 않기 때문에 기본적으로 ‘기본 설정’ 과 동일시 합니다.
그렇지 않으면 다른 의견과 답변에서 제공하는 답변을 알려줍니다.
jQuery를 사용하여 event.preventDefault ()를 호출하는 리스너를 바인딩 해제하는 방법은 무엇입니까?
event.preventDefault를 다시 활성화하는 방법?
두 번째 솔루션은 redsquare이 제공 한 예제 솔루션으로 승인되었습니다 (이것이 중복으로 닫히지 않은 경우 직접 솔루션을 위해 여기에 게시 됨).
$('form').submit( function(ev) {
ev.preventDefault();
//later you decide you want to submit
$(this).unbind('submit').submit()
});
답변
function(evt) {evt.preventDefault();}
그리고 그 반대
function(evt) {return true;}
건배!
답변
click
jQuery 의 이벤트에서 링크를 계속하기 전에 명령을 처리하려면 다음을 수행하십시오 .
예 : <a href="http://google.com/" class="myevent">Click me</a>
jQuery를 방지하고 따르십시오.
$('a.myevent').click(function(event) {
event.preventDefault();
// Do my commands
if( myEventThingFirst() )
{
// then redirect to original location
window.location = this.href;
}
else
{
alert("Couldn't do my thing first");
}
});
또는 단순히 실행 window.location = this.href;
애프터preventDefault();
답변
비동기 호출을 실행하기 위해 jQuery에서 양식 제출을 지연해야했습니다. 간단한 코드는 다음과 같습니다.
$("$theform").submit(function(e) {
e.preventDefault();
var $this = $(this);
$.ajax('/path/to/script.php',
{
type: "POST",
data: { value: $("#input_control").val() }
}).done(function(response) {
$this.unbind('submit').submit();
});
});
답변
확인 ! 클릭 이벤트에서 작동합니다.
$("#submit").click(function(e){
e.preventDefault();
-> block the click of the sumbit ... do what you want
$("#submit").unbind('click').click(); // the html click submit work now !
});
답변
event.preventDefault(); //or event.returnValue = false;
그 반대 (표준) :
event.returnValue = true;
출처 :
https://developer.mozilla.org/en-US/docs/Web/API/Event/returnValue
답변
다음과 같은 패턴을 제안합니다.
document.getElementById("foo").onsubmit = function(e) {
if (document.getElementById("test").value == "test") {
return true;
} else {
e.preventDefault();
}
}
<form id="foo">
<input id="test"/>
<input type="submit"/>
</form>
… 내가 뭔가를 빠뜨리지 않는 한.