2013-05-30 31 views

回答

6

含有多個元件將所述處理程序添加到每個元素中jQuery對象上調用.on()

2
$('[id^="thing"]').on("click", function() { }); 
+0

+1因爲你很快反應到SLaks的答案;) –

-1

嘗試

$('[id^="thing"]').each(function(i, el) { 
     $(el).on("click", function() {     
     }) 
    }); 
+2

@downvoter感謝您對我的post..please評論感興趣。 –

+2

@RohitAgrawal - 不,它不會,它會綁定到每個匹配的元素一次。 – Gabe

-1

不需要.each.on

你想,可以用這隻要做的事情 -

一個好辦法

$(document).on('click','[id^="thing"]', function() { 
    console.log(this.id) 
}); 

是可以做到的,只要你想,但因爲它會無緣無故

這就是你想要的,但要避免

$('[id^="thing"]').each(function(){ 
    $(this).on('click', function() { 
    console.log(this.id) 
    }); 
}); 

,如果你會使用.on內影響性能.each您可能會
結束在多次綁定事件以這種方式

走錯了路

$('[id^="thing"]').each(function(){ 
    $('[id^="thing"]').on('click', function() { 
    console.log(this.id) 
    }); 
}); 
+2

謹慎解釋downvote –

1

您可以使用此版本指定一個選擇,指定哪些子元素應該觸發事件。

$('[id^="thing"]').on('click','button (or whatever selector)', function(){ 
    // "this" refers to triggering element 
    alert($(this).text()); 
}); 
+0

http://api.jquery.com/on/文檔。 – mcNux

相關問題