Я делаю инкрементную игру в javascript, поэтому я все время заменяю некоторые ссылки на странице, эти ссылки показывают действительно странное поведение. Я присоединяю события click с помощью.on (и несколько раз, когда событие click запускается, а иногда нет, очень случайное. Вот ясный пример поведения beeavior. Я могу себе представить, что это связано с временным интервалом, потому что если я устанавливаю интервал в 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/
Благодарю!!
Ваш код setInterval
очень быстр 100 ms
, поэтому, когда при необходимости событие запускает элемент, он replaced
новым, поэтому click event
не triggered
.
Попробуйте clicking
на ссылку many times
вы увидите alert
.