Javascript jQuery单击事件不使用setInterval替换链接

Javascript jQuery单击事件不使用setInterval替换链接,javascript,jquery,onclick,setinterval,Javascript,Jquery,Onclick,Setinterval,我正在用javascript制作一个增量游戏,所以我一直在替换页面中的一些链接,这些链接显示出一种非常奇怪的行为。我正在使用.on()附加click事件,有时会触发click事件,有时不会,这是非常随机的。 是beheavior的一个明显例子。我可以想象这与时间间隔有关,因为如果我将时间间隔设置为1000毫秒,事件总是会触发。当然,我可以在代码中进行一些更改,以便不替换链接,只更新链接,但我想知道这是否可以首先修复 HTML: JSFIDLE中的示例: 谢谢!!您的设置间隔代码非常快100毫秒

我正在用javascript制作一个增量游戏,所以我一直在替换页面中的一些链接,这些链接显示出一种非常奇怪的行为。我正在使用.on()附加click事件,有时会触发click事件,有时不会,这是非常随机的。 是beheavior的一个明显例子。我可以想象这与时间间隔有关,因为如果我将时间间隔设置为1000毫秒,事件总是会触发。当然,我可以在代码中进行一些更改,以便不替换链接,只更新链接,但我想知道这是否可以首先修复

HTML:

JSFIDLE中的示例:


谢谢!!

您的
设置间隔
代码非常快
100毫秒
,这就是为什么当事件即将触发时,元素会被新的
替换,所以
点击事件
不会被
触发

尝试多次单击链接
上的
,您将看到
警报。


是的,我知道1秒有效,但例如尝试500毫秒,500毫秒是很长的时间,有时事件不会触发。
<div id="container"><a id="link" href="#">test</a></div>
$(document).ready(function(){
$("#container").on("click","#link",function(){
    alert("clicked");
});
setInterval(function(){
    var newA = $("#link").clone();
    $("#link").remove();
    $("#container").append(newA);
},100);});