我有一个包含多个 div 的 div,其中使用 innerHTML 每 25 毫秒更新一次(出于性能原因)。我曾尝试使用事件委托来捕获事件,但我似乎没有做任何事情来捕获点击事件。我认为这可能是由于内容更新的速度。任何想法都会非常受欢迎。
我的代码:
$(document).ready(function () {
var canvas = $('#gCanvas')[0];
$(document.body).delegate('a', 'click', function (e) {
console.log(e.target);
});
var sprites = [];
for (var i = 0; i < 100; i++) {
sprites[i] = {x: i+10, y: i+10};
}
var doIt = function () {
var s = '';
for(var i = 0; i < sprites.length; i++) {
var spr = sprites[i];
spr.x++;
spr.y++;
s+= '<a id="s'+i+'" class="s" style="left:'+sprites[i].x+';top:'+sprites[i].y+'"></a>';
}
canvas.innerHTML = s;
};
//doIt();
setInterval(doIt, 50);
});