我正在为我的客户编写一个已经有一些加密JavaScript 的脚本。在加密JavaScript 的某处,有一个.remove()
事件会触发特定按钮。我找到了一个检测.remove()
事件的脚本jQuery - Trigger event when an element is removed from the DOM。之后,我试图用这个阻止该事件:
$('#fileElem').on('destroyed', function(){
$('#fileElem').die('remove');
$('input[name="done_upload"]').trigger('click');
});
但Uncaught TypeError: Object [object Object] has no method 'die'
destroyed
可能是.remove()
事件触发$('input[name="done_upload"]').trigger('click');
后,我不确定。因为我曾经自动触发{{1}}不起作用的按钮,因为我在触发事件之前收到错误。
任何人都可以帮我停止删除DOM元素吗?
答案 0 :(得分:4)
.die()
是在removed section of jQuery下提交的,所以除非如果您使用的是旧版本的jQuery(如< 1.8),它就不再存在了。这就是导致抛出错误的原因。
false
时, This fiddle(加载1.9)警告.die()
,这意味着它不存在。如果您使用的是1.8.3或更早版本,它将提醒true,这意味着它仍然存在。
如果你想阻止删除那个元素,我建议你“劫持”(替换)按钮的点击处理程序。
答案 1 :(得分:2)
我认为当元素已被销毁时会触发destroyed
事件,因此您会得到一个空的jQuery查询结果。