jQuery 删除脚本效果来自 ajax

jQuery remove script effect came from ajax

我已经自定义了嵌套模态脚本 (jQueryModal) 以更好地满足项目需要,但我遇到了一些我无法获得的奇怪问题

我调用该模态通过 ajax 加载一些内容,并且来自 ajax 的响应包含一些 javascript 代码以及 html 和附加到模态主体。 所有这些 javascript 代码(来自 ajax 响应)都完美无缺。

然后,当该模式关闭时,我删除了整个模式块及其内容(ajax 响应 html + javascript)

但是当我重新打开同一个模式时,旧脚本已经失效

例如,Modal A 以 ajax 内容打开,在该内容中有 [BUTTON] 调用另一个 ajax(将打开另一个模式),我们称它为Modal B

Modal B 中,有 select 下拉菜单,它在更改时调用 ajax,到目前为止还不错。 现在我关闭 Modal B 并通过在 Modal A 上单击相同的 [BUTTON] 重新打开它,然后然后 Modal B 打开,但这次 Modal B 的 select 下拉菜单将在更改时调用两次

我怀疑在模式关闭时删除 js 代码是不够的

这可能是什么问题和解决方案? 提前感谢您的帮助

感谢@Taplar 的帮助,我得到了问题并且可以通过少量谷歌搜索解决它,解决方案是使用 jQuery 的 off

示例:

$('.button').off('click').on('click', function(){ ... });

select 下拉菜单的方法相同:

$('select').off('change').on('change', function() { ... });