0

私は JavaScript でインクリメンタル ゲームを作成しているため、ページ内のいくつかのリンクを常に置き換えています。このリンクは非常に奇妙な動作を示しています。クリック イベントを .on( でアタッチしています。クリック イベントが発生する場合と発生しない場合がありますが、これは非常にランダムです。 動作の明確なを次に示します。時間間隔に関連するものであると想像できます。間隔を 1000 ミリ秒に設定すると、イベントは常に発生します.もちろん、リンクを置き換えずに更新のみを行うために、コードにいくつかの変更を加えることができますが、これが最初に修正可能かどうかを知りたいです.

HTML:

<div id="container"><a id="link" href="#">test</a></div>

JS:

$(document).ready(function(){
$("#container").on("click","#link",function(){
    alert("clicked");
});
setInterval(function(){
    var newA = $("#link").clone();
    $("#link").remove();
    $("#container").append(newA);
},100);});

jsFiddle での例: http://jsfiddle.net/MtR6b/1/

ありがとう!!

4

1 に答える 1

2

あなたのsetIntervalコードは非常に高速です。100 msそのため、イベントがトリガーされようとしているときに、要素がreplaced新しい要素であるため、そうclick eventではありませんtriggered

clickingが表示されるリンクmany timesを試してくださいalert


1000ms=1s setInterval の DEMO

于 2013-11-11T15:55:14.663 に答える