jquery .on('click',func)函数没有完成它的工作

Ian*_*vis 9 jquery

如何创建问题:

  1. 点击现有的触发链接 - 发生了一些事情(通过)
  2. 单击"添加触发器"按钮,该按钮会添加具有相同类的新触发器链接
  3. 单击新创建的链接,它与开始时存在的前2个链接不同(失败)

这是我的例子 - :http://jsbin.com/equjig/3/edit

我认为该.on('click', func)函数适用于向dom中的当前元素添加事件,还有将来添加到dom的元素?

这是我目前的javascript:

$(document).ready(function() {
  $(".link").on('click', function(e) {
    e.preventDefault();
    $("#out").append("clicked<br/>");
  });

  $("#b1").on('click', function() {
    $("#p1").append("<a href='#' class='link'>new trigger</a>");
  });
Run Code Online (Sandbox Code Playgroud)

这是HTML

<button type="button" id="b1">add trigger</button>
  <p id="p1">
    <a href="#" class="link">trigger 1</a>
    <a href="#" class="link">trigger 2</a>
  </p>
  <div id="out"></div>
Run Code Online (Sandbox Code Playgroud)

注意 - 即时通讯使用jQuery 1.7

谢谢!

Man*_*eUK 15

你差不多......

工作示例:http://jsbin.com/equjig/6/edit

$(document).ready(function() {
    $('#p1').on('click','.link', function(e) {
        e.preventDefault();
        $("#out").append("clicked<br/>");
    });
});
Run Code Online (Sandbox Code Playgroud)

这将工作 - 你应该选择.link元素的父div (我在$('#p1')这里使用,就像你的jsbin)