【问题标题】:Jquery 1.10.1 click on (Event delegation issue) [duplicate]Jquery 1.10.1点击(事件委托问题)[重复]
【发布时间】:2013-06-18 03:58:32
【问题描述】:

请看一下这个jsFiddle。基于单击,将附加类添加到 div。我正在尝试根据课程点击并获得回复。非常感谢您的帮助!

jQuery(document).ready(function () {

    var count = 0;
    $("#more_time").click(function () {
        count += 1;

        $("#list_times").append($("#more_time").text() + " - <span id='remove_" + count + "' class='remove' style='cursor:pointer; '>(remove)</span><br>");
    });

    $(".remove").on("click", function () {
        alert("Hello");
    });

});

html

<div id="more_time">Weekdays 7:00am - 9:00am - More Time</div>
<br>
<br>
<div id="list_times"></div>

【问题讨论】:

  • 请在此处发布您的代码,而不仅仅是在小提琴中。

标签: jquery class click jsfiddle


【解决方案1】:

看起来事件委托是你的朋友。

而不是将事件绑定到类

$('.remove').on('click', function {  // some code});

将事件委托给它的静态父级

$('#list_times').on('click', '.remove', function {  // some code});

Working Fiddle

【讨论】:

  • +1 有解释
  • 太棒了!新问题...现在我需要在此处删除的添加内容:jsfiddle.net/J8KDv/9
  • 将您的 span 放入容器中。然后尝试使用 closest 定位 div 容器。类似 jsfiddle.net/J8KDv/10
【解决方案2】:

将您的.remove 绑定代码更改为delegated syntax

$("#list_times").on("click", '.remove', function () {
    alert("Hello");
});

http://jsfiddle.net/gaby/J8KDv/6/的演示

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多