event.preventDefault를 다시 활성화하는 방법은 무엇입니까?
모든 제출 버튼에 대한 기본 작업을 금지 한 웹 페이지가 있지만 버튼에 대한 기본 제출 작업을 다시 활성화하고 싶습니다. 어떻게해야합니까?
현재 다음을 사용하여 기본 작업을 방지하고 있습니다.
$("form").bind("submit", function(e){
e.preventDefault();
});
다음을 사용하여 성공적으로 수행했습니다.
$(document).ready(function(){
$("form:not('#press')").bind("submit", function(e){
e.preventDefault();
});
하지만 버튼을 클릭하면 동적으로 할 수 있습니까?
이벤트 바인딩을 해제하고 preventDefault가 아닌 별도의 이벤트로 리 바인드하거나 바인딩 해제 후 나중에 메서드에서 기본 이벤트를 직접 호출해야합니다. 마법 같은 이벤트는 없습니다 .cancelled = false;
요청대로
$('form').submit( function(ev){
ev.preventDefault();
//later you decide you want to submit
$(this).unbind('submit').submit()
});
이 코드로 redsquare가 제안하는 것을 수행하십시오.
function preventDefault(e) {
e.preventDefault();
}
$("form").bind("submit", preventDefault);
// later, now switching back
$("form#foo").unbind("submit", preventDefault);
또는 제출이 허용 될 때마다 양식 속성을 할당합니다. 이 같은:
function preventDefault(e) {
if (event.currentTarget.allowDefault) {
return;
}
e.preventDefault();
}
$("form").bind("submit", preventDefault);
// later, now allowing submissions on the form
$("form#foo").get(0).allowDefault = true;
function(e){ e.preventDefault();
그리고 그 반대
function(e){ return true; }
건배!
$('form').submit( function(e){
e.preventDefault();
//later you decide you want to submit
$(this).trigger('submit'); or $(this).trigger('anyEvent');
With async actions (timers, ajax) you can override the property isDefaultPrevented
like this:
$('a').click(function(evt){
e.preventDefault();
// in async handler (ajax/timer) do these actions:
setTimeout(function(){
// override prevented flag to prevent jquery from discarding event
evt.isDefaultPrevented = function(){ return false; }
// retrigger with the exactly same event data
$(this).trigger(evt);
}, 1000);
}
This is most complete way of retriggering the event with the exactly same data.
You can re-activate the actions by adding
this.delegateEvents(); // Re-activates the events for all the buttons
If you add it to the render function of a backbone js view, then you can use event.preventDefault() as required.
참고URL : https://stackoverflow.com/questions/1164132/how-to-reenable-event-preventdefault
'Nice programing' 카테고리의 다른 글
Mixins는 무엇입니까 (개념으로) (0) | 2020.11.04 |
---|---|
Pandas에서 시계열도에 수직선을 어떻게 그리나요? (0) | 2020.11.04 |
ASP.NET 번들링-포함 된 파일이 변경된 후 번들이 업데이트되지 않음 (수정되지 않은 304 반환) (0) | 2020.11.04 |
순간 검색을 날짜 형식으로 변환하는 방법은 무엇입니까? (0) | 2020.11.03 |
오류-SqlDateTime 오버플로입니다. (0) | 2020.11.03 |