鉴于工作中经常会用到对动态元素事件的监听,虽然对于jquery的一些低版本而言(如jquery 1.7.2),
可以使用live来监听动态元素的事件,but,时代在发展嘛 。。总归不能老是囿于老版本的那些库啦!
废话少说,言归正传,直接上代码。。
html:
<div id="dynamic">
<a id="add_element" href="javascript:;">Add new element</a><br/>
</div>
<script src="/test_res/jquery-1.11.2.min.js"></script>
javascript:
$(function(){
var i = 1;
$("#add_element").on("click", function(){
var test_element = '<br/><a class="new_element" href="javascript:;">This is a new element ! ['+i+']</a>' ;
$(this).after(test_element);
i++;
});
$("#dynamic").on("click", ".new_element", function(){
alert($(this).text());
});
});
在这个例子中,我只使用了class来作为on的selector,当然,其他的也是可以的 。。
下面是一个简单的on的函数介绍,函数的具体介绍可以参考.on()
.on( events [, selector ] [, data ], handler(eventObject) )