微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

Knockout的cleanNode()函数似乎是在节点内的元素上删除jQuery的事件绑定.我该如何防止这种情况?
在cleanNode()中也没有太多的文档.

解决方法

直接从 knockout docs

“覆盖外部数据的清理

删除元素时,Knockout运行逻辑来清理与元素相关联的任何数据.作为这个逻辑的一部分,如果jQuery加载在你的页面中,Knockout会调用jQuery的cleanData方法.在高级情况下,您可能希望防止或自定义应用程序中如何删除此数据. Knockout公开了一个函数,ko.utils.domNodedispose.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.
};

最近我因为无休止的调试会话而疯狂.

我看到这个问题,希望我的答案能为那些仍然在寻找的人提供一个更直接的解决方案.

原文地址:https://www.jb51.cc/jquery/179260.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐