我想知道很多事件監聽器是否具有性能。Javascript(jQuery)事件監聽器性能
例如,如果我有50個元素上點擊事件監聽, 它做出改變,如果我對每個元素的一個聽衆50個事件監聽器,像這樣
$('#one').on("click",function(){ // do something; });
$('#two').on("click",function(){ // do something else; });
...
$('#fifty').on("click",function(){ // do something else; });
或只是一個事件偵聽器
$('.listen_to_click').on("click",function(){
// handle action here depending on data attribute or something else
});
//or does jQuery add here an event listener internally on every .listen_to_click element so that it doesn´t make any change at all - in this case does it change when you do like so
$('body').on("click",'.listen_to_click',function(){
// handle action here depending on data attribute or something else
});
或當您使用普通的JavaScript做這樣的事情
document.getElementByTagName('body').addEventListener("click",function(e){
// handle action on e.target or something else
});
代替
document.getElementById('one').addEventListener("click",function(e){
// do something
});
document.getElementById('two').addEventListener("click",function(e){
// do something else
});
...
document.getElementById('fifty').addEventListener("click",function(e){
// do something else
});
所以,我想知道的是..它任何意義性能
感謝
可能有意義的測試它。 jsperf.com。 – j08691
香草JS總是會更快。這是事實,也是常識。低級別的任何東西都會比高級抽象包裝代碼更快。 –
@ RPM肯定香草JS總是更快 - 我編輯的問題..因爲我想知道是否做出改變,如果你有一個身體聽衆例如,並處理你的行動在這一個功能 – delueg