jQuery的点击()事件不会为附加的html标签工作(jquery click() event w

2019-09-01 08:13发布

有一对夫妇的事情,我需要解释一下我的问题是有道理的了。 在我的第一页我在那里,我从另一个页面使用jQuery load()方法加载标记主要股利。 我在加载HTML链接到一个.js页面,我的脚本。 JS的页面中,我操作的主要div的内容。 通过数组变量我的JS网页我环路我从数据库中拉和append()他们到主分区。 在for循环我包裹每一行以自己的股利和包括锚标记。 锚标签我要附加的点击()方法,这样我就可以调用一个函数,一旦它被点击的东西。 我试着在其他父>子选择器,但没有任何工程的锚标记。 我的代码:

//this is the query to my parse database

query.find({
  success: function(results) {
    for (i = 0; i < results.length; i++){

        activity = results[i].get("activity");
        scene = results[i].get("location");
        neighborhood = results[i].get("neighborhood");
        date = results[i].get("date");
        details = results[i].get("details");
        time = results[i].get("time");
        search.push([activity, scene, neighborhood, date, details, time]);

        for (i = 0; i < search.length; i++) {

            //append each row of results to mainDiv inside of their own div with an anchor tag at the end of each row.
            //when the anchor tag is clicked I want to call a function, but none of the selectors I've tried have worked. 

            $('#mainDiv').append("<div id='event'>" + search[i].join(' ') + "<a href='#' id='interested'>Interested?</a></div>");
        }

    };// closes for loop
    },//closes success function
  error: function(error) {
    alert("Error: " + error.code + " " + error.message);
  }
}); //closes find

Answer 1:

我找到了答案在这里: 新追加的DIV不准备文件继承的事件处理程序

快捷的事件处理程序(如点击(),鼠标悬停()等),只适用于它们可在网页加载的DOM元素。 当附加元素动态的,你必须将事件附加到一个静态的父元素,并提供您希望委派的事件,像这样的过滤器:

这是我的解决方案:

$("#mainDiv").on('click', '.interested', function(){
       alert("working");
   });


文章来源: jquery click() event won't work for appended html tags