gpt4 book ai didi

javascript - innerHTML 和事件委托(delegate)

转载 作者:行者123 更新时间:2023-11-28 02:55:25 24 4
gpt4 key购买 nike

我有一个包含多个div的div,其中使用innerHTML每25毫秒更新一次(出于性能原因)。我尝试过使用事件委托(delegate)来捕获事件,但我似乎没有做任何事情来捕获单击事件。我认为这可能是由于内容更新的速度所致。任何想法都非常受欢迎。

我的代码:

$(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);
});

最佳答案

如果你使用jquery就很容易。有一个.live功能,但我不确定它是否足够快。或者,您可以尝试检查 jquery 源代码以找到 .live() 代码并找到解决方案

更新

如果你想制作一个游戏,那么你可以尝试在好的浏览器上使用 svg,在不好的浏览器上使用 vml。

关于javascript - innerHTML 和事件委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2788878/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com