我正在使用javascript制作增量游戏,所以我一直在替换页面中的一些链接,这些链接显示出一种非常奇怪的行为。我正在使用.on附加点击事件(有时候点击事件会被触发,而有些时候不是,非常随机。 Here是一个明显的例子。我可以想象这与时间间隔有关,因为如果我将间隔设置为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/
谢谢!
答案 0 :(得分:2)
您的setInterval
代码非常快100 ms
这就是为什么当事件即将触发元素的时候replaced
是新的,因此click event
不是triggered
点击链接clicking
上的many times
,您会看到alert
。