如何删除新创建的元素的事件,假设我无法控制该动态元素,因为它是从插件生成的,并且我无法在插件初始化期间删除事件。
所以情况是这样的,我想使用 .off("touchmove") 删除
页面加载时。jQuery("#dynamic_element")
元素中名为 touchmove
的事件
jQuery("#dynamic_element").off("touchmove")
是否有任何 jQuery 方法可以用来轮询 DOM 中添加的动态元素是否已准备好进行操作?
我计划主要针对 iOS 设备。
我们将非常感谢您的想法。
最佳答案
使用 MutationObserver 的解决方案(IE11、FF、CH、SA iOS 7)
var mo = new MutationObserver(function(e){
e.forEach(function(record) {
var addedNodes = Array.prototype.slice.call(record.addedNodes);
var dynamicElements = addedNodes.filter(function(e) {
return e.id && e.id === "dynamic_element";
});
if (dynamicElements.length) {
jQuery(dynamicElements[0]).off("touchmove");
}
});
});
mo.observe(document.documentElement, { subtree: true, childList: true });
关于javascript - 从新创建的元素中删除事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33181285/