.js ライブラリが mouseup イベントを DOM 要素に登録している状況があります。DOM 要素が削除され、置き換えられ、イベントが再登録されます。これにより、2 つの重複したイベントが登録されます。たとえば、ここに再現があります:
注意:これは 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
マウスイベントが既に存在する場合、2 回目の呼び出しでマウスイベントが登録されないようにするにはどうすればよいですか?