2013-03-04 71 views
3

新手到jQuery在這裏。我有一個jQuery中通過下面的代碼動態添加一個複選框:jQuery複選框事件處理與.live()

.html("<input type='checkbox' class='checkbox' value='7.5'>"); 

我希望能夠最終調用一個函數,如果點擊複選框。 該類複選框:我一直在使用這些代碼兩個變種試圖

$(".checkbox").live('click', function() { 
    alert('test'); 
}); 

或調用所有複選框:

$(":checkbox").live('click', function() { 

    alert('test'); 
}); 

這是不工作的。有任何想法嗎? 非常感謝!

+0

您使用的是什麼版本的jQuery? – 2013-03-04 00:42:12

+0

一定要檢查文檔之前詢問http://api.jquery.com/ – Zachrip 2013-03-04 00:44:28

回答

9

.live()已棄用。使用事件代表團語法:

$(document).on('change', 'input[type="checkbox"]', function(e) { 
    alert(e); 
}); 

更換document用在綁定的事件處理程序是目前最接近的父元素的選擇。我也建議不要使用:checkbox,因爲它是非本地選擇器,並且會比input[type="checkbox"]更慢

+0

好的答案,就像我要回答:) – Zachrip 2013-03-04 00:43:57

+0

作品:)非常感謝你! – Losman90 2013-03-04 00:55:31

+0

也許值得一提的是,除了在選擇器「input [type ='checkbox']上指定輸入類型之外,還可以添加類名以進一步縮小目標元素的範圍: input [type ='複選框']。複選框 – Mevius 2017-02-21 20:47:11