jQuery .on('click',func)函数未完成其工作 [英] jquery .on('click', func) function not doing its job

查看:109
本文介绍了jQuery .on('click',func)函数未完成其工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何创建问题:

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

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

我认为.on('click', func)函数既可以将事件添加到dom中的当前元素,也可以用于将来添加到dom中的元素?

I thought the .on('click', func) function was good for adding events to current elements in the dom, but also for future elements that get added to the dom?

这是我当前的javascript:

Here is my current 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>");
  });

这是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>

注意-我使用的是jQuery 1.7

Note - im using jQuery 1.7

谢谢!

推荐答案

您几乎可以在...

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

working example : http://jsbin.com/equjig/6/edit

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

这将起作用-您应该选择.link元素的父div(我在这里使用了$('#p1'),就像在jsbin中一样)

This will work - you should select a parent div of the .link elements (i have used $('#p1') here, like in your jsbin)

这篇关于jQuery .on('click',func)函数未完成其工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆