我在使用ajax生成的弹出窗口(简单div)中包含2个javascript文件。
<script type="text/javascript" src="<?php echo JS ?>pm.js"></script>
<script type="text/javascript" src="<?php echo JS ?>chat.js"></script>
当您关闭弹出窗口并重新打开它时,两个文件中的jQuery绑定函数会执行两次。
例如
//connection
$(document).bind('connect', function() {
var conn = new Strophe.Connection('my-http-binding-url');
conn.connect(inbox.data.jid, inbox.data.pass, function(status){
inbox.connection = conn;
alert(status)
});
});
首次打开弹出窗口时,会显示警告消息:5,表示已成功连接。
但是当我关闭弹出窗口并重新打开它时,它会向我显示两次消息......我假设代码执行了两次,因为它没有被卸载。
答案 0 :(得分:2)
您可以通过以下两种不同方式实现
注意:加载后无法删除javascript。使用“Firebug”或“Chrome Developer Tool”的“网络”标签,确保多次加载javascript。
编辑:您可以在完成ajax后访问动态HTML
$.ajax({
...,
...,
success: function afterAjax(){
// Insert dynamic HTML in Document
// Any jQuery selector/function you can use here
}
}