Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
动态创建的内容未绑定jQuery事件_Jquery_Html - Fatal编程技术网

动态创建的内容未绑定jQuery事件

动态创建的内容未绑定jQuery事件,jquery,html,Jquery,Html,我无法将jQuery事件绑定到动态创建的列表项 在jQuery添加begin后,不会触发的是btnRemoveItem上的事件 $('#btnAddStore').on('click', function(){ (...) $.ajax({ success: (function(result) { (...) var li = jQuery('<li/>', { 'id': object['id'] }).

我无法将jQuery事件绑定到动态创建的列表项

在jQuery添加begin后,不会触发的是
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(){...});