我如何将事件删除到新创建的元素上,假设我无法控制该动态元素,因为它是由插件生成的,并且我无法在插件初始化期间删除事件。
因此,在这种情况下,我想在页面加载时使用touchmove
删除jQuery("#dynamic_element")
元素中名为.off("touchmove")
的事件。
jQuery("#dynamic_element").off("touchmove")
如果DOM中添加的动态元素已准备好进行操作,是否可以使用任何jQuery方法进行轮询?
我计划主要针对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/