如何创建问题:
>点击现有的触发链接 – 发生什么(通过)
>点击“添加触发器”按钮,该按钮附加一个新的触发器链接
>点击新创建的链接,它不会像从开始存在的第一个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>"); });
这里是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>
注意 – im使用jQuery 1.7
谢谢!
解决方法
你几乎在那里…
工作实例: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)