将事件添加到动态创建的对象
问题描述:
我创建了一个函数,其中类“.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
});
*也包括目前已有的
答
尝试
$(".dropdown").live("change", function() {
alert(1);
});
+0
要注意jq 1.9+的活着已经死了 –
http://learn.jquery.com/events/event-delegation/ –
'$(文件)。在( '变', “.dropdown”,function(){ //做点什么 });' –
这个问题并没有显示解决问题的任何努力,而SO完全相同的问题有很好的答案。 – Jai