如何阻止.remove()事件

时间:2013-10-30 12:09:45

标签: javascript jquery

我正在为我的客户编写一个已经有一些加密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元素吗?

2 个答案:

答案 0 :(得分:4)

.die()是在removed section of jQuery下提交的,所以除非如果您使用的是旧版本的jQuery(如< 1.8),它就不再存在了。这就是导致抛出错误的原因。

在测试false时,

This fiddle(加载1.9)警告.die(),这意味着它不存在。如果您使用的是1.8.3或更早版本,它将提醒true,这意味着它仍然存在。

如果你想阻止删除那个元素,我建议你“劫持”(替换)按钮的点击处理程序。

答案 1 :(得分:2)

我认为当元素已被销毁时会触发destroyed事件,因此您会得到一个空的jQuery查询结果。