2014-01-09 29 views
2

。對什麼是對.click事件

$(document).on('click', '.class', function() { 
    //stuff 
}); 

而且

$(".class").on("click", function() { 
    //stuff 
}); 
+4

活動代表團。 – elclanrs

+0

http://api.jquery.com/on/#direct-and-delegated-events – towr

回答

5

的第一次訂閱之間的區別在熱鬧的方式。這意味着它會監聽DOM更改,並且如果將來某人添加了一個元素class="class",它將擁有點擊處理程序。

第二個訂閱所有元素的點擊處理程序,其中包含class="class"。例如,如果您將來發出AJAX請求並向您的DOM注入一個包含此類的元素,那麼它將不會應用點擊事件。

+0

謝謝@Darin Dimitrov ..那麼 '$(document).ready(function(){ $ ( 「的.class 」)點擊(函數(){// 東西 }); });' 而 '$()上( 「點擊」,功能(「 類」){ // stuff });' – Twinsen

+0

由於類綁定('$(「。class」)')限制了點擊事件的數量,所以'$(document)'可能不如'$(「.class」處理程序必須聽取。 – Liam

+0

@ user3093439,沒有任何。 '(「。class」)。click'僅僅是'$(「。class」)的一個包裝。on(「click」'參見[docs on click](http://api.jquery.com/click) /) – Liam