gpt4 book ai didi

jQuery同步触发自定义事件?

转载 作者:行者123 更新时间:2023-12-03 22:12:18 24 4
gpt4 key购买 nike

我正在使用 jQuery 触发器方法来调用事件...但它的行为不一致。有时它会调用该事件,有时则不会。

<a href="#" onclick="
$(this).trigger('custom-event');
window.location.href = 'url';
return false;
">text</a>

自定义事件添加了很多监听器。就好像触发方法不是同步的,允许在执行事件之前更改window.location.href。当 window.location.href 更改时,会发生导航,从而中断一切。

如何同步触发事件?

使用 jQuery 1.8.1。

编辑

我发现该事件在调用时具有如下堆栈跟踪:

  1. jQuery.fx.tick (jquery-1.8.1.js:9021)
  2. 勾选(jquery-1.8.1.js:8499)
  3. jQuery.Callbacks.self.fireWith (jquery-1.8.1.js:1082)
  4. jQuery.Callbacks.fire (jquery-1.8.1.js:974)
  5. jQuery.speed.opt.complete (jquery-1.8.1.js:8991)
  6. $.customEvent (myfile.js:28)

这证明了 jQuery trigger 方法是异步的。 (我错了......这只能证明我正在调用的事件,里面有一个动画,并且在动画之后调用回调内的预期函数)

最佳答案

你,我的 friend ,正在“当”寻找 jQuery。

http://api.jquery.com/jQuery.when/

要强制任何内容同步,您可以使用类似的东西......

$.when($(this).trigger('custom-event')).done(function(){
window.location.href = 'url';
});

关于jQuery同步触发自定义事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13338484/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com