如何将事件移除到新创建的元素,让我说我无法控制该动态元素,因为它是从插件生成的,并且我无法在此期间删除事件插件初始化。
所以在这种情况下,我想在页面加载时使用touchmove
删除jQuery("#dynamic_element")
元素中名为.off("touchmove")
的事件。
jQuery("#dynamic_element").off("touchmove")
是否有任何jQuery方法可用于轮询DOM中添加的动态元素是否已准备好进行操作?
我计划主要针对iOS设备。
非常感谢您的想法。
答案 0 :(得分:1)
使用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 });