我想觸發元素,而我的Checkbox
被選中或未選中。 它完美罰款:jquery更改()不觸發新元素
$('.myCheckbox:checkbox').change(function() {
//..
}
的事情是,如果我創建客戶端一個新的複選框,則.change()
犯規觸發。
我也試過:
$('.myCheckbox:checkbox').live('change',function() {
,它不工作以及..
沒有人知道什麼是錯?
我想觸發元素,而我的Checkbox
被選中或未選中。 它完美罰款:jquery更改()不觸發新元素
$('.myCheckbox:checkbox').change(function() {
//..
}
的事情是,如果我創建客戶端一個新的複選框,則.change()
犯規觸發。
我也試過:
$('.myCheckbox:checkbox').live('change',function() {
,它不工作以及..
沒有人知道什麼是錯?
嘿,這是一個jQuery版本的問題.on已經取代了。由於生活的一些問題,這些問題可以此鏈接查看,
What's the difference between jQuery .live() and .on()
,你可以寫你這樣的代碼。
$(document).on('change','.myCheckbox:checkbox',function() {
// your code
});
用途:
的jQuery 1.7進一步
$(document).on('change','.myCheckbox:checkbox',function() {
//..
});
對於舊版本
$('.myCheckbox:checkbox').live('change',function() {
});
試試這個:
$(document).on('change', '.myCheckbox:checkbox', function() {
});
順便說一句,live()
被棄用的JQ uery版本1.7
,您應該使用on()來代替。
使用
$(document).on('change','.myCheckbox:checkbox',function() {
//..
}
由於jQuery的1.7版本中,()方法是爲bind(), live()
和delegate()
方法的新的替代。
注:事件處理程序使用on()
方法,才能既爲當前和未來元素的工作(如通過腳本創建一個新的元素)
您應該使用.on
(升級你的jQuery版本1.7本附)。
的語法是:
$('.yourCheckboxContainer').on('change', '.myCheckbox:checkbox', function() {
});
我如何理解你的問題,它不是.live
或.on
。這是關於你先用你的現有代碼的新的複選框添加更改偵聽器,然後添加到頁面就像
$(document).append($("<input type="checkbox" />"));
更改偵聽器不使用它。
這很正常,因爲添加偵聽器時不存在新的複選框。添加偵聽器時,必須將偵聽器添加到新的複選框。
$(document).append($("<input type="checkbox" />").change(whatever));
什麼版本的jQuery?你可能想.on() – Liam
即時通訊使用1.8.3版本 – thormayer
是的,你需要使用'.on'。 '.live'已棄用。 [這是文檔](http://api.jquery.com/on/) – Liam