我要疯了。我有一系列绑定了点击事件的 div。他们中的大多数都按预期工作,但其中一些人什么都不做。它们之间的代码没有区别(无论是生成它们的 javascript 还是我在元素检查器中看到的结果 HTML)。它们都在 Safari 中工作,但在 Chrome 中我有时会失败。在下面的代码中,即使是“PLAY”也从未写入控制台。
很难共享代码,因为它是这么大的东西的一部分,但它基本上如下所示。首先是一些从 javascript 写入文档的 HTML:
<div class='thumbnail' id='p-"+ip+"'></div>
结果如下:
<div class='thumbnail' id='p-220'></div>
然后我将 click() 绑定到它上面,如下所示:
playHandler(ip);
function playHandler(ip) {
$("#p-"+ip).click(function()
console.log("PLAY");
popTranscription.listen("canplayall",function() { this.currentTime(ip) });
popTranscription.play();
cued = true;
});
}
大多数情况下,单击 div 会触发绑定函数。有时不是。总是相同的特定缩略图类 div 不起作用(例如,我在文档中有一个很长的列表,每个都由那个 'ip' 变量区分。即 ip 1、2、3 将始终有效,而 4 将始终有效不行)。
抱歉,我没有更多要展示的内容,但是有人对要查找的内容有任何想法吗?我正在失去它。我尝试使用 bind() 而不是 click()。我尝试了 onclick 而不是 jquery,但这也给了我奇怪的不一致行为(有时它找到了函数,有时没有)。
更新:问题与页面上存在的重复 ID 有关。我在 ID 字符串中添加了一些唯一标识符,问题就解决了。谢谢你的领导!