当我们在jQuery中调用$ .remove()时,是否会删除侦听器?

omg*_*omg 0 jquery listeners

...

$('#target')及其子项上有听众.

当我们调用$('#target').remove()将其从DOM中删除时,是否会删除侦听器?

如果没有,如何将它们一起移除?

pei*_*rix 5

取决于您如何添加侦听器.如果你这样做

$("#target").click(function() { doSomething(); });
Run Code Online (Sandbox Code Playgroud)

然后remove()还会删除监听器.但是,如果你这样做:

$("#target").live("click", function() { doSomething(); });
Run Code Online (Sandbox Code Playgroud)

听众不会被删除.你在这里做的是创建一个实时HTML集合,如果你稍后添加一个id为"target"的新元素,它将添加这个listenere.