当前位置:  编程技术>WEB前端

jQuery中对未来的元素绑定事件用bind、live or on

    来源: 互联网  发布时间:2014-08-25

    本文导语:  对未来的元素绑定事件不能用bind, 1、可以用live代替,但是要注意jquery的版本,根据官方文档,从1.7开始就不推荐live和delegate了,1.9里就去掉live了。 2、推荐用on代替(注:1.7及以上的版本才支持)。用法:on(events,[selector],[data],fn...

对未来的元素绑定事件不能用bind,

1、可以用live代替,但是要注意jquery的版本,根据官方文档,从1.7开始就不推荐live和delegate了,1.9里就去掉live了。

2、推荐用on代替(注:1.7及以上的版本才支持)。用法:on(events,[selector],[data],fn)
代码如下:

//放在$(function(){})里才有效
$(document).on("click", "#testDiv", function(){
//此处的$(this)指$( "#testDiv"),而非$(document)
});

3、 当只想为每一个匹配元素的特定事件(像click)绑定一个一次性的事件处理函数时,用.one()代替on就可以了,注意不是在所有的[selector]上都可以执行一次,而是在这些[select]上总共也就执行一次,对未来的元素也有效。

4、如果某个div里有增删改三个按钮需要绑定事件,像下面这些写:
代码如下:

$('#btn-add').click(function(){});
$('#btn-del').click(function(){});
$('#btn-edit').click(function(){});

这样写的坏处:看不出三者的结构联系,没有理由事件冒泡。

看看CoffeeDeveloper的对jQuery的事件绑定的一些思考 推荐的方法吧,可以写成这样:
代码如下:

$("#btnContainer").coffee({
click: {
"#btn-add": function(){ //do something },
"#btn-del": function(){ //do something },
"#btn-edit": function(){ //do something }
} ,
mouseenter:{
"#btn-abc": function(){ //do something },
}
});

这样写是不是好看多了,(.coffee()是自定义的函数,你能自己写出这个函数吗?),只是如果绑定的function比较长的话,感觉代码看起来还是有点乱,评论中的
代码如下:

$('#btnContainer')
.on('click','#btn-add', function(){})
.on('click','#btn-del', function(){})
.on('click','#btn-edit',function(){});

这种写法也避免了上文提到的两个坏处,看起来也不乱了。

    
 
 

您可能感兴趣的文章:

  • JQuery为页面Dom元素绑定事件及解除绑定方法
  • jQuery 快捷键绑定插件 jquery-shortcuts
  • jQuery 快捷键绑定插件 jQuery Hotkeys
  • 页面元素绑定jquery toggle后元素隐藏的解决方法
  • JQuery给元素绑定click事件多次执行的解决方法
  • jquery1.10给新增元素绑定事件的方法
  • jquery 绑定、捕获、拦截回车事件的例子
  • jquery为动态加载的元素绑定事件的代码
  • 分享:jquery事件重复绑定的解决办法
  • jQuery回车键绑定点击事件示例
  • jQuery实现当按下回车键时绑定点击事件
  • MVC2 jQuery的验证时,关于客户端验证绑定复选框问题。
  • jquery 为a标签绑定click事件示例代码
  • jquery 绑定回车动作扑捉回车键触发的事件
  • JQuery1.8 判断元素是否绑定事件的方法
  • jquery绑定事件不生效的解决方法
  • jquery弹窗插件colorbox绑定动态生成元素的方法
  • jquery bind(click)传参让列表中每行绑定一个事件
  • jquery事件重复绑定的快速解决方法
  • jQuery绑定事件不执行但alert后可以正常执行
  • jquery判断元素的子元素是否存在的示例代码
  • jQuery 获取/设置/删除DOM元素的属性以a元素为例
  • jquery怎么判断元素的子元素是否存在
  • jquery获取一个元素下面相同子元素的个数代码
  • jquery中子元素和后代元素的区别示例介绍
  • jQuery 滑动方法slideDown向下滑动元素
  • JQuery元素控制方法汇总
  • 使用jquery prev()方法找到同级的前一个元素
  • jQuery each循环获取与搜索元素
  • oracle iis7站长之家
  • jQuery如何获取与设置表单元素
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • JQuery文本改变触发事件如聚焦事件、失焦事件
  • jquery阻止后续事件只执行第一个事件
  • jquery button默认enter事件(回车事件)
  • jquery onpropertychange键盘事件用法举例
  • jquery回车事件的示例代码
  • jQuery查看事件内容的小例子
  • jQuery回车键事件实例代码
  • JQuery中阻止事件冒泡几种方式及其区别介绍
  • jquery 回车键事件小例子
  • jquery捕捉回车事件的代码
  • jquery 回车事件的实例分享
  • jquery 文本框回车事件 跳到下一个文本框
  • jquery 回车事件的实现代码
  • jquery代码:多浏览器捕捉回车事件
  • JQuery如何触发元素事件
  • 使用JS或jQuery模拟鼠标点击a标签事件代码
  • jquery中交替点击事件的实现代码
  • jquery中交替点击事件toggle方法的使用示例
  • jquery响应鼠标事件 jquery隐藏与显示input默认值
  • jQuery自定义事件的简单实现代码
  • 通过javascript库JQuery实现页面跳转功能代码
  • jQuery鼠标动画插件 jquery-ahover
  • jQuery概述,代码举例及最新版下载
  • jQuery向导插件 Jquery Wizard Plugin
  • Jquery操作html复选框checkbox:全选,全不选和反选
  • jQuery圆角插件 jQuery Corners
  • struts+spring+hibernate+jquery实现分页功能的几个基本类介绍(异步加载)
  • jQuery相册插件 jQuery.popeye
  • jQuery UI组件 jQuery UI
  • jQuery右键菜单插件 jQuery ContextMenu
  • jQuery分页插件 Pagination jQuery Plugin


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3