Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
防止默认,然后在javascript中应用默认_Javascript_Jquery_Javascript Events_Event Handling - Fatal编程技术网

防止默认,然后在javascript中应用默认

防止默认,然后在javascript中应用默认,javascript,jquery,javascript-events,event-handling,Javascript,Jquery,Javascript Events,Event Handling,一次preventDefault()时,如何调用刚才阻止的事件 例如: $("a").click(function(e){ setTimeout(function(){ e.huh? // run original function },5e3); }); 谢谢 这会有用的 $("a").one("click", function (e) { e.preventDefault(); var elem = this; setTimeout

一次
preventDefault()时,如何调用刚才阻止的事件

例如:

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

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

这会有用的

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

这应该是一个简单的问题,但不是真的;一旦默认设置被阻止,就不能调用它。但你所说的“原始函数”是什么意思?锚点单击的默认方式是跟随链接,这就是您要做的吗?@bfavaretto不一定,可能会有其他事件绑定到它。我能想到的一个选择是复制原始函数,然后运行它,但我想看看是否有更好的方法。谢谢@FelixKling,就这样!如果同一元素有多个事件处理程序,则无论是否阻止默认设置,它们都将被触发。如果在祖先上有处理程序,它们也会触发,除非停止事件传播。也许这就是你要问的?这是许多不同版本的复制品。只需谷歌“在preventDefault()之后恢复默认值”@这不会产生真正的点击事件。在contractry@jack上,这会产生真正的点击事件。jQuery是一个“伪造”它的人。不,不是。当模拟默认值时,绑定另一个调用window.open的侦听器将失败。@杰克:是的,
元素。click()
将不会被视为源于用户操作,即使实际事件发生在,我认为这与此无关,因为它的目的只是跟随正常工作的链接。