六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 35|回复: 0

使用jQuery动态绑定事件插件livequery弥补live的不足

[复制链接]

升级  77.2%

280

主题

280

主题

280

主题

进士

Rank: 4

积分
886
 楼主| 发表于 2013-1-23 02:20:03 | 显示全部楼层 |阅读模式
jquery1.3.2的动态绑定事件方法live不支持blur,focus,mouseenter,mouseleave,change,submit,特别是不支持blur,focus事件使我很不爽(因为我的页面需要这个功能,:)。
后来发现livequery这个插件,发现它支持blur,focus,并且还支持自定义方法,很强!于是替代了jquery自带的live,完美!
注意,新出来的jQuery1.4不用livequery这个插件也可以实现了!

I've successfully used livequery plugin as a complement to .live() function in jQuery. Not only can it bind events like focus,blur and change (that live() does not support yet, as of 1.3.2) but also it provides you with a mechanism to bind custom events to DOM elements on the fly. For example, I used it to bind draggable and droppables to some DOM elements which will be added through Ajax. It makes my code much simpler to read and easier to maintain.

//我要动态修改span中的文字function formatUserName(value, pid){var span="<span class='spanModify' style='color:red' id='"+pid+"'>"+value+"</span>";return span;}//双击span变成一个文本输入框$('.spanModify').live('dblclick',function(){//使用jquery自带的live动态绑定dblclickvar id=$(this).attr('id');var value=$(this).text();var input=$("<input class='inputBlur'  type='text'>").attr({'value':value,'id':id});$(this).replaceWith(input);input.focus();return;});//文本输入框失去焦点时变回span$('.inputBlur').livequery('blur',function(){//动态绑定blur,需要livequery插件var id=$(this).attr('id');var value=$(this).val();var span=$("<span class='spanModify' style='color:red'></span").attr({'id':id}).text(value);$(this).replaceWith(span);return;});
很简单实现了
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表