我有一个表,它在js中构造,然后附加到页面上的div。 每一行都有一个内联事件监听器onclick()
var table = '<table>';
for (var i =0; i< 10; i++) {
table += '<tr onclick="myfunction()"><td></td></tr>'
}
table += '</table>'
$('#myDiv').html(table);
如何在此构造中使用doulbe点击事件而不是单击?
编辑: 在这种情况下我不使用委托,因为我有很多参数(每行的uniq),它们也在每行上构造内联。表每秒刷新大约50次,因此一旦使用所有参数构造内联函数就更容易了,然后在将表附加到DOM之后设置noumerous侦听器。 我已经尝试了两种方式,并且在我的情况下内联工作速度更快,更清楚地理解了应该发生的事情。
答案 0 :(得分:1)
答案 1 :(得分:1)
由于你问题中的一个标签是jQuery,我会使用jQuery来完成这个任务,并且不会直接在你的DOM元素中连接你的事件处理程序。
$('#generatedTable').on('dblclick', 'tr', function() {
alert('tr is clicked');
});
其中generateTable是表格的ID。
使用 on 将允许响应所有生成的trs的双击
答案 2 :(得分:0)
您正在寻找的属性称为ondblclick
,但请允许我指出使用此类事件属性不好引用MDN:
应该避免这种方式。这使得标记更大,可读性更低。对内容/结构和行为的关注并没有很好地分离,使得更难找到bug。
来源:https://developer.mozilla.org/en/docs/Web/API/Event#HTML_attribute