加载另一个部分

时间:2015-09-28 13:46:58

标签: javascript jquery model-view-controller partial-views event-listener

让我们假设浏览器在页面

之后呈现
<html>
...
<body>
<div id="partialContainer">
<script>
function saveItems(){
    /* do somthing*/
}
</script>
<input type="button" id="btnTest" name="btnTest" value="Test" onclick="saveItems()"/>
</div>
</body>
</html>
在AJAX调用之后

并更改&#34; partialContainer&#34;内容使用

$("#partialContainer").html(returnedMarkup)

saveItems函数仍然保留在页面中并且可以执行 如何在替换标记时删除此功能以避免名称删除

4 个答案:

答案 0 :(得分:0)

var saveItems = function () {}

在Ajax之后,为其分配一些其他值,最好是上面的值。

答案 1 :(得分:0)

尝试将saveItems设为undefined

   $("#partialContainer").html(returnedMarkup);
    if (!!saveItems && $.isFunction(saveItems)) saveItems = void 0;

答案 2 :(得分:0)

在你的ajax成功回调函数上,只需执行:

$("#btnTest").prop( "onclick", null );

请注意$.removeAttr('onclick')将失败,即6-8,所以.prop()更好。

答案 3 :(得分:0)

您可以将函数放在对象文字中:

var obj = { saveItems: function() { } }

并在ajax

之后删除它
delete obj.saveItems