我第一次遇到一个很奇怪的问题。 我正在开发一个网站,其中包含许多ajax调用(我的ajax调用加载html表格,窗口小部件,navbar等..),在一些ajax响应中,我包含了加载内容使用的特定JavaScript(fold/unfold tbody for example)。Javascript事件多个呼叫
例如,在我的表,我包括以下码:
$(document).on("click",".foldandunfold i", function (e) {
$(this).toggleClass("fa-chevron-right");
$(this).toggleClass("fa-chevron-down");
$(this).parents("tbody:first").find("tr:not(:first)").toggle();
});
当第二AJAX调用被发送,返回其它内容(具有相同的JavaScript)我的jquery事件运行两次,如果我载入另一个表,它运行三次等。
将JavaScript移动到我的网站的较低部分解决问题(因为它只加载了1次,但我已动态生成的JavaScript(使用PHP),是小部件具体的,我不能移动到ajax响应之外。
我可以告诉jquery或JIT javascript编译器清理这个事件或类似的东西吗?
对不起,我的英语:X
貌似这个脚本是在你的Ajax回调,将其移动到您的文档准备回调 – 2015-02-10 07:34:06