我有一个包含多个div的div,其中使用innerHTML每25ms更新一次(出于性能原因)。我已经尝试使用事件委派来捕获事件,但我似乎没有抓住点击事件。我认为这可能是由于内容的更新速度。任何想法都会非常受欢迎。
我的代码:
$(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);
});
由于
标记
答案 0 :(得分:1)
如果你使用jquery很容易。有一个.live函数,但我不确定它是否足够快。或者您可以尝试检查jquery源以查找.live()代码并找到解决方案
<强>更新强>
如果您正在尝试制作游戏,那么您可以尝试将svg用于好的浏览器,将vml用于坏的浏览器。