我通过jquery加载函数将页面加载到div中。实际装载部分很好。代码看起来基本上是这样的:
$("div#loadhere").load("newfile.html?" + new Date().getTime());
在newfile.html中我有一系列div,并且我有代码(用于测试)在单击div时发送警报。那也没关系。
问题在于:当我将页面加载到div#loadhere然后选择另一个页面加载到同一个div中时,警报消息会发生两次。如果我加载另一页,它会发生三次。
换句话说,似乎jquery(或DOM)没有意识到先前的负载已经消失。
非常感谢您的任何帮助!
答案 0 :(得分:1)
答案 1 :(得分:0)
尝试.delegate() - http://api.jquery.com/delegate/
您可以将事件处理程序绑定到“正文”或类似的顶级div,并观察定位所需div的事件。 docs网站上给出的示例是表格:
$("table").delegate("td", "hover", function(){
$(this).toggleClass("hover");
});
这样可以避免遇到多重绑定问题。