我創建了一個函數,其中類「.dropdown」在頁面上的所有下拉菜單在更改時都會執行某些操作。但是,動態添加後續下拉列表不會觸發事件。我如何使動態下拉觸發更改事件?將事件添加到動態創建的對象
$(".dropdown").change(function() {
//Do Something
});
我創建了一個函數,其中類「.dropdown」在頁面上的所有下拉菜單在更改時都會執行某些操作。但是,動態添加後續下拉列表不會觸發事件。我如何使動態下拉觸發更改事件?將事件添加到動態創建的對象
$(".dropdown").change(function() {
//Do Something
});
您可以使用event delegation附加更改事件動態創建的.dropdown
元素:
$(document).on('change', ".dropdown", function() {
//Do Something
});
$(document).on('change', '.dropdown', function() {
//Do Something
});
結構是這樣
$(static selector/parent).on('event', 'dynamically added element*', function() {
//Do Something
});
*也包括目前已有的
$(document).on('change','.dropdown',function() {
//Do Something
});
嘗試
$(".dropdown").live("change", function() {
alert(1);
});
要注意jq 1.9+的活着已經死了 –
http://learn.jquery.com/events/event-delegation/ –
'$(文件)。在( '變', 「.dropdown」,function(){ //做點什麼 });' –
這個問題並沒有顯示解決問題的任何努力,而SO完全相同的問題有很好的答案。 – Jai