动态创建的内容未绑定jQuery事件
我无法将jQuery事件绑定到动态创建的列表项 在jQuery添加begin后,不会触发的是动态创建的内容未绑定jQuery事件,jquery,html,Jquery,Html,我无法将jQuery事件绑定到动态创建的列表项 在jQuery添加begin后,不会触发的是btnRemoveItem上的事件 $('#btnAddStore').on('click', function(){ (...) $.ajax({ success: (function(result) { (...) var li = jQuery('<li/>', { 'id': object['id'] }).
btnRemoveItem
上的事件
$('#btnAddStore').on('click', function(){
(...)
$.ajax({
success: (function(result) {
(...)
var li = jQuery('<li/>', {
'id': object['id']
}).append('<span title="Remove item from list" class="btnRemoveItem"></span>')
.append('<span class="text">' + name_adr[0] + '</span>')
.append('<span class="address">' + name_adr[1] + '</span>');
$(li).appendTo('#'+ country + ' ul');
}
});
});
$('btnAddStore')。在('click',function()上{
(...)
$.ajax({
成功:(功能(结果){
(...)
var li=jQuery(“”{
“id”:对象[“id”]
}).append(“”)
.append(“”+name_adr[0]+“”)
.附加(“”+名称\u adr[1]+“”);
$(li)。附加到(“#”+国家+“ul”);
}
});
});
我在这里看过类似的问题,但我没有找到解决问题的答案。我在这段代码中遗漏了什么?用这种方式
这样
将委派与.on()一起使用:
将委派与.on()一起使用:
试试这个
$(document).on('click','#btnAddStore', function(){...});
$(“#btnAddStore”)。on(“scroll”,…)
仅将scroll事件绑定到执行此语句时存在的那些元素,即如果在执行此语句后动态添加任何具有类wrapper1的新元素,则不会对这些元素执行事件处理程序
另一方面,$(document).on(“scroll”、“#btnAddStore”、…)
将向文档对象注册一个事件处理程序,并在类为“wrapper”的元素中发生滚动时使用事件冒泡来调用处理程序,因此它将支持动态添加元素
试试这个
$(document).on('click','#btnAddStore', function(){...});
$(“#btnAddStore”)。on(“scroll”,…)
仅将scroll事件绑定到执行此语句时存在的那些元素,即如果在执行此语句后动态添加任何具有类wrapper1的新元素,则不会对这些元素执行事件处理程序
另一方面,$(document).on(“scroll”、“#btnAddStore”、…)
将向文档对象注册一个事件处理程序,并在类为“wrapper”的元素中发生滚动时使用事件冒泡来调用处理程序,因此它将支持动态添加元素
可能重复的可能重复的可能重复的感谢您的提示。仅在
添加存储
功能上使用此方法不起作用,但在删除存储
功能上执行相同的操作就解决了我的问题。这是否意味着我在使用.on()时应始终使用此方法
event?如果您的元素是动态添加的,您应该以这种方式使用.on()
。感谢您的提示。仅在Add Store
函数上使用此方法不起作用,但在Remove Store
函数上使用此方法解决了我的问题。这是否意味着我在使用.on()时应该始终使用此方法
event?如果正在动态添加元素,则应以这种方式使用.on()
。
$(document).on('click','#btnAddStore', function(){...});