gpt4 book ai didi

jquery - Knockout cleanNode() 删除 jquery 事件绑定(bind)?

转载 作者:行者123 更新时间:2023-12-03 22:15:21 24 4
gpt4 key购买 nike

Knockout 的 cleanNode() 函数似乎正在删除节点内元素上的 jQuery 事件绑定(bind)。我怎样才能防止这种情况发生?
我在 cleanNode() 上找不到太多文档。

最佳答案

直接来自knockout docs :

“覆盖外部数据的清理

删除元素时,Knockout 会运行逻辑来清理与该元素关联的所有数据。作为此逻辑的一部分,如果 jQuery 已加载到您的页面中,Knockout 会调用 jQuery 的 cleanData 方法。在高级场景中,您可能希望阻止或自定义在应用程序中删除此数据的方式。 Knockout 公开了一个函数 ko.utils.domNodeDisposal.cleanExternalData(node),可以重写该函数以支持自定义逻辑。例如,为了防止调用 cleanData,可以使用空函数来替换标准的 cleanExternalData 实现:”

ko.utils.domNodeDisposal.cleanExternalData = function () {
// Do nothing. Now any jQuery data associated with elements will
// not be cleaned up when the elements are removed from the DOM.
};

最近我因为无休止的调试 session 而发疯。

我看到了这个问题,我希望我的回答能为那些仍在搜索的人提供更直接的解决方案。

关于jquery - Knockout cleanNode() 删除 jquery 事件绑定(bind)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16479637/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com