0

我正在为我的客户端编写一个脚本,该脚本已经有一些加密的 JavaScript。在加密的 JavaScript中的某个地方,有.remove()一个特定按钮触发的事件。我找到了一个脚本jQuery - 当从检测事件的 DOM 中删除一个元素时触发.remove()事件。之后我试图用这个来阻止那个事件:

$('#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');无法正常工作,因为我在触发事件之前遇到了错误。

谁能帮我停止删除 DOM 元素?

4

2 回答 2

4

.die()在jQuery 的已删除部分下归档,因此除非您使用的是旧版本的 jQuery(如 <1.8),否则它不再存在。这就是导致抛出错误的原因。

这个小提琴(加载 1.9)false在测试时发出警报.die(),这意味着它不存在。但是,如果您使用 1.8.3 或更早版本,它会提示 true,这意味着它仍然存在。

如果您想阻止删除该元素,我建议您改为“劫持”(替换)按钮的单击处理程序。

于 2013-10-30T12:13:53.507 回答
2

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

于 2013-10-30T12:12:33.213 回答