2013-08-13 2 views
-1

preventDefault();이 호출되면 방금 막은 이벤트를 어떻게 호출 할 수 있습니까? 예를 들어기본값을 방지 한 다음 자바 스크립트에 기본값을 적용하십시오.

:

$("a").click(function(e){ 

    setTimeout(function(){ 
     e.huh? // run original function 
    },5e3); 
}); 

감사합니다!

+0

이 *이 * 아니 정말 쉬운 일해야 작동합니다; 일단 기본값이 금지되면 호출 할 수 없습니다. 그러나 "원래 기능"은 무엇을 의미합니까? 앵커 클릭에 대한 기본값은 링크를 따르는 것입니다. – bfavaretto

+0

@bfavaretto 반드시 그렇지는 않습니다. 다른 이벤트가있을 수 있습니다. 내가 생각할 수있는 옵션 중 하나는 원래 함수를 복사 한 다음 실행하는 것이지만, 더 좋은 방법이 있는지 알고 싶습니다. –

+0

감사합니다 @FelixKling, 그게 다야! –

답변

1

$("a").one("click", function (e) { 
    e.preventDefault(); 
    var elem = this; 
    setTimeout(function() { 
     elem.click(); 
    }, 2000); 
}); 

http://jsfiddle.net/XyETg/3/

+0

이것은 실제 클릭 이벤트를 만들지 않습니다. – jack

+0

contacky @jack에서 this *는 실제 클릭 이벤트를 만듭니다. jQuery는 그것을 "속이는"행위입니다. – bfavaretto

+0

아니야. * default *를 모방하면 window.open을 호출하는 다른 리스너를 바인딩 할 수 없습니다. – jack

관련 문제