[javascript] evt.preventDefault ()의 반대는 무엇입니까?

를 해고하면 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;}

건배!


답변

clickjQuery 의 이벤트에서 링크를 계속하기 전에 명령을 처리하려면 다음을 수행하십시오 .

예 : <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>

… 내가 뭔가를 빠뜨리지 않는 한.

http://jsfiddle.net/DdvcX/