创建事件侦听器,在第一次触发后自动执行回调

时间:2015-06-02 23:52:39

标签: javascript jquery

我想创建一个一次性事件监听器,它将在第一次触发事件后立即执行回调。

main.js: (loaded first thing)
    $(document).one('plugins_loaded', displayMenu);

plugins.js: (loaded some time after main.js)
    $(document).trigger('plugins_loaded');

checkout.js: (loaded asynchronously or immediately after main.js)
    $(document).one('plugins_loaded', displayCart);

我希望displayCart立即执行,如果plugins_loaded事件之前已被触发过,如果没有,那么displayCart应该在displayMenu之后调用{ {1}}事件触发。

1 个答案:

答案 0 :(得分:1)

您正在寻找

存储在某个全局变量中,最好存储在应用程序对象的命名空间中。你只需要初始化一次,然后就可以随时随地添加回调,并在以后触发它们。

您无法真正使用在$(document)上触发的自定义事件,因为过去的事件无法观察到。