我有一个 .js 库正在将 mouseup 事件注册到 DOM 元素的情况。DOM 元素被移除和替换,事件被重新注册。这会导致注册两个重复的事件。例如,这里是一个复制品:
请注意:这是使用 jQuery 版本 1.4.4
<div id="top">
<div id="nested">
<div id="stranded">
Alien Code
</div>
</div>
</div>
<script type="text/javascript">
function addLive(){
$("#stranded").live("mouseup",
function (e) {
var node = document.getElementById("stranded");
var nodeCopy = $(node).clone(true)[0];
var tar = document.getElementById("nested");
tar.appendChild(nodeCopy);
}
);
}
addLive();
addLive();
</script>
此外,这是一个 jsFiddle:http: //jsfiddle.net/3zbtK/
addLive
如果已经存在鼠标事件,如何防止第二次调用注册鼠标事件?