当用户在我的应用程序中打开一个新对话框时。我正在获取负责处理该对话框的对话框 HTML 和脚本。当我再次打开同一个对话框时。
似乎浏览器正在从上一个对话框中缓存我的 javascript。所以在某些情况下,我有运行两次的脚本。
我正在做的例子:
var html = $.get('/somepage');
dialog.empty().append(html);
dialog.dialog("open");
我该如何克服呢?
这是一个有助于解释问题的示例
<html>
<head>
<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
<script id="myscript">var seachForMe = 1;</script>
<script>
$(document).ready( function(){
$("#clickme").click(function() {
$("#centent").empty().append($("<span>some text </span>")).append($("#myscript").clone());
});
});
</script>
</head>
<body>
<div id="centent"></div>
<input type="button" id="clickme" value="click me again and again">
</body>
</html>
我正在使用克隆,因为它将是一个从服务器返回的新脚本,我清空了内容 div,但脚本仍然在浏览器中。