使用livequery插件对动态创建的DOM元素进行事件绑定
- 作者:admin
- 发表时间:2013-07-02 14:17:17
- 来源:未知
Livequery是一款基于jQuery的插件,主要作用是对动态创建的DOM元素进行事件绑定。比如我在页面中动态创建了一个新的按钮,需要通过单击新的按钮来完成某些操作,这个时候就可以用到livequery。
先来看以个不适用livequery的例子。
通过单击页面上的按钮创建一个新的按钮,这时再去单击新按钮时却没有任何反应,但是我已经在新的按钮上通过bind方法绑定了一个click事件,原因是bind函数执行时,这些新的按钮还没创建,所以不可能绑上事件。这时需要借助livequery来完成绑定,直接将上述代码中的bind改成livequery,当然先要加载livequery插件。
其实到这里还没发现livequery有多强大,jQuery本身的live方法已经基本能实现了上述功能。
$(".newdiv").live('click',function(){ alert('绑定了单击事件'); });
关键是livequery不光只是绑定事件,它还能做很多事。
接下来看一个支持jQuery UI的draggable函数的例子:
在页面上放置一个按钮。
执行操作:
$("#drag").click(function(){ $("新增了一个可以拖动的DIV").insertAfter($(this)); }); $(".dragdiv").livequery(function(){ $(this).draggable(); });
借助livequery和jQuery UI,可以在页面上动态创建N个可以拖动的DIV。此外完成此例必须导入jQuery UI库。
联系我们
一切良好工作的开始,都需相互之间的沟通搭桥,欢迎咨询。