加载另一部分后,Javascript函数仍然保留

加载另一部分后,Javascript函数仍然保留,javascript,jquery,model-view-controller,partial-views,event-listener,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()"/> <

让我们假设浏览器呈现以下页面

<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>
saveItems函数仍保留在页面中,可以执行
当替换标记以避免名称冲突时,如何删除此函数

var saveItems=function(){}


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

var saveItems=function(){}


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

尝试将
saveItems
设置为
undefined

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

尝试将
saveItems
设置为
undefined

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

在ajax成功回调函数中,只需执行以下操作:

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

请注意,
$.removeAttr('onclick')
将在ie 6-8中失败,因此
.prop()
更好。

在ajax成功回调函数中,只需执行以下操作:

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

请注意,
$.removeAttr('onclick')
将在ie 6-8中失败,因此
.prop()
更好。

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

var obj = { saveItems: function() { } }
并在ajax之后删除它

delete obj.saveItems 

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

var obj = { saveItems: function() { } }
并在ajax之后删除它

delete obj.saveItems 

单击要调用此函数的输入按钮,可以禁用或删除该按钮。@JamesThorpe的可能副本每个部分都可能有自己的脚本witch本身并不引用jsfile@HosseinSalmanian一个
标记本身是否包含脚本或者是否包含一个外部文件都是无关紧要的-一旦加载并执行了该文件,它也可能是内联的,不管你有内联脚本还是外部文件,答案都差不多。它是如何执行的?如果您需要在UI级别更改页面功能,请在UI级别进行更改,而不是破坏底层功能。您可以在单击调用此功能的输入按钮时禁用或删除该按钮。@JamesThorpe的可能副本每个部分都可能有自己的脚本witch本身并不引用jsfile@HosseinSalmanian一个
标记本身是否包含脚本或者是否包含一个外部文件都是无关紧要的-一旦加载并执行了该文件,它也可能是内联的,不管你有内联脚本还是外部文件,答案都差不多。它是如何执行的?如果您需要在UI级别更改页面功能,请在UI级别进行更改,而不是破坏底层功能。我想删除替换的dome元素中使用的每个函数我想删除替换的dome元素中使用的每个函数主要问题是btnTest已从DOM中删除,但功能仍然存在,可能导致功能性肠梗阻,我明白了。您是否尝试过:“delete saveItems;”?主要问题是btnTest已从DOM中删除,但该函数仍然保留,可能会导致函数colisioningoh,我明白了。您是否尝试过“删除保存项;”?