获取默认操作以供以后在javascript中使用

获取默认操作以供以后在javascript中使用,javascript,Javascript,我有一件事被炒了。我想改变这个事件的行为 $('window').on('resize', function (ev) { ev.preventDefault(); // this needs to be "deferred" Game.pause(); someAsyncPromise().then(result => { Game.resume(); // continue the default action here }); }) 是否可以用这种方

我有一件事被炒了。我想改变这个事件的行为

$('window').on('resize', function (ev) {
  ev.preventDefault(); // this needs to be "deferred"
  Game.pause();
  someAsyncPromise().then(result => {
    Game.resume();
    // continue the default action here
  });
})
是否可以用这种方式延迟javascript事件的默认操作

是否可以用这种方式延迟javascript事件的默认操作

否,一旦所有事件处理程序都返回并且事件已完成路由,浏览器将处理触发默认操作的操作,除非已阻止该操作。您不能挂起事件(当然,除了在处理程序中运行同步代码之外),也不能重新发出默认操作

当您希望发生默认情况时,尝试再次触发事件是很有诱惑力的,但即使在可能的情况下(重新触发事件处理程序,许多事件只能由用户启动等),这也是有问题的,我认为在这种情况下无论如何都不可能



旁注:As没有任何默认操作,因此无需担心如何阻止它,也无需稍后尝试重新启动它。但这个问题仍然适用于一般情况。

没有。你必须取消活动并以某种方式重新触发它。不确定在这种情况下是否可能。不做任何特别的事情,它是为任何想做某事的人准备的,当它开火时,他会抓住它并做一些事情。@LGSon:很好的观点。没有重新触发的默认设置。@T.J.Crowder谢谢,请将其添加到您的答案中,因为它在类似情况下确实有值,但不是作为答案本身。是的,我试着考虑一些情况,例如使用异步函数的示例