我有一個表,它在js中被構造,然後附加到頁面上的div上。 每一行都有一個內嵌事件偵聽器的onclick()設置元素的內聯dblclick()偵聽器
var table = '<table>';
for (var i =0; i< 10; i++) {
table += '<tr onclick="myfunction()"><td></td></tr>'
}
table += '</table>'
$('#myDiv').html(table);
如何使用doulbe click事件,而不是單一的點擊在這種結構?
編輯: 在這種情況下,我沒有使用委託,因爲我有很多的參數(每行uniq),這些參數也在每行上內聯構建。 Table每秒刷新約50次,所以一旦用所有參數構造內聯函數,然後在將表追加到DOM之後設置非常重要的監聽器,則更容易。 我已經嘗試了兩種方法,並且在我的案例中內聯工作得更快,並且更清楚地理解onclick應該發生的情況。
你爲什麼不綁定事件中使用的JavaScript相關的/ jQuery的方法的所有雙擊應對?爲什麼不委派這個事件?關於你的問題,爲什麼不使用谷歌? –
'表每秒刷新約50次'這肯定是太多了。無論如何,使用委託會避免許多重複的處理程序,並使您的代碼更加優化。要傳遞具體的數據取決於哪個行被雙擊,你應該設置data- *屬性,並在委託處理程序中使用 –
然後,我將不得不讀取單擊它後的行的數據屬性。這將至少需要6 msc,這太多了。 而且我沒有公開的偵聽器,因爲每次都完全覆蓋表格。 –