我想創建一個捕獲所有點擊事件的綁定。然後,如果點擊的項目具有「數據軌道」屬性,請執行以下操作...如何綁定到所有單擊事件,檢查屬性....是否有效?
這樣做的有效方法是什麼?我可以綁定在身上,讓所有的事情都泡出來。有關如何以及如何有效地做到這一點的任何建議?
由於
我想創建一個捕獲所有點擊事件的綁定。然後,如果點擊的項目具有「數據軌道」屬性,請執行以下操作...如何綁定到所有單擊事件,檢查屬性....是否有效?
這樣做的有效方法是什麼?我可以綁定在身上,讓所有的事情都泡出來。有關如何以及如何有效地做到這一點的任何建議?
由於
你的目標應該是簡單超性能:讓jQuery的做的工作適合你,假設開發者的jQuery的是比你優化JS更好,除非你可以證明他。
用於與data-track
屬性的所有元素使用has attribute jQuery選擇安裝一個活單擊處理:
$('[data-track]').live('click', function() {
});
click
附加事件處理程序在使用delegate
與屬性選擇[data-track]
document
的水平。
$(document).delegate('[data-track]', 'click', function(){
//Do something here
});
你爲什麼不綁定單擊事件唯一項目與數據軌道屬性?
$('[data-track]').click(function() {
var data_track = $(this).attr('data-track');
//code here
});
我會是這樣的:
$('*[data-track]').click(function(ev){
// do something
});
或者(如果一些這樣的內容從阿賈克斯來)
$('*[data-track]').live('click', function(ev){
// do something
});
你有沒有捕捉到所有點擊事件?如果你只是做的東西,如果它有一個「數據通道」屬性,我相信你應該能夠做到:
$("*[data-track]").click(function(){//do something});
我不知道怎麼說比較其他方法,雖然效率,儘管我認爲由於jQuery捕獲窗口級別的所有事件,所以它不應該有所作爲。
哎呀,與其他人似乎一樣的打字時間! – AsherMaximum
好點,但似乎沒有工作 – AnApprentice
如果別的東西被綁定,比如說一個彈出窗口的方法,它會阻止它被觸發嗎? – AnApprentice
這是我的:twitter share – AnApprentice