$(window).bind('load' ... );不触发
$(window).bind('load' ... ); not triggering
我目前正在努力使 Web 应用程序只打开一个实例。这是通过加载应用程序时 set/checked 和关闭应用程序时删除的 cookie 完成的。我设置 cookie 的逻辑我已经制定好了,但是我在触发它时遇到了问题。
我的网络应用程序是使用 require.js 和 backbone.js 构建的。在我的 main.js 文件中,我将对单实例逻辑的调用绑定到 load
和 unload
事件,如下所示。
requirejs(['jquery', 'router', 'singleInstance'], function ($, Router, SingleInstance) {
//TODO fix load event is not triggering...
$(window).bind('load', function () {
SingleInstance.setSingleInstance();
});
$(window).bind('unload', function () {
SingleInstance.removeSingleInstace();
});
通过在对 setSingleInstance()
和 removeSingleInstance()
的调用上设置断点,我发现 removeSingleInstance()
被调用,正如卸载事件所预期的那样,但是 setSingleInstance()
是从来没有被叫过。如何将此调用绑定到 load
事件?
问题是当你绑定监听器时,window已经加载,因此没有触发回调函数。如果它没有副作用,只需在你的 requirejs 回调中立即调用 SingleInstance.setSingleInstance();
。
I would like to use the window load event for style reasons to match the unload
嗯,它会阻止您的代码工作。
我目前正在努力使 Web 应用程序只打开一个实例。这是通过加载应用程序时 set/checked 和关闭应用程序时删除的 cookie 完成的。我设置 cookie 的逻辑我已经制定好了,但是我在触发它时遇到了问题。
我的网络应用程序是使用 require.js 和 backbone.js 构建的。在我的 main.js 文件中,我将对单实例逻辑的调用绑定到 load
和 unload
事件,如下所示。
requirejs(['jquery', 'router', 'singleInstance'], function ($, Router, SingleInstance) {
//TODO fix load event is not triggering...
$(window).bind('load', function () {
SingleInstance.setSingleInstance();
});
$(window).bind('unload', function () {
SingleInstance.removeSingleInstace();
});
通过在对 setSingleInstance()
和 removeSingleInstance()
的调用上设置断点,我发现 removeSingleInstance()
被调用,正如卸载事件所预期的那样,但是 setSingleInstance()
是从来没有被叫过。如何将此调用绑定到 load
事件?
问题是当你绑定监听器时,window已经加载,因此没有触发回调函数。如果它没有副作用,只需在你的 requirejs 回调中立即调用 SingleInstance.setSingleInstance();
。
I would like to use the window load event for style reasons to match the unload
嗯,它会阻止您的代码工作。