jquery中关于bind()方法的使用技巧分享


Posted in jQuery onMarch 30, 2017

.bind()方法可使用.on()方法来代替

on()方法提高代码易读性,如下

$("input").bind("click", { foo: "hello" }, handler);

$("input").on("click", { foo: "hello" }, handler);

bind()绑定事件的时候,这些元素必须已经存在,而on()可以处理类似于代理这样的东东,也就是说不存在的元素(动态生成的元素也可以处理),如下动态生成的 To do list ,再双击删除,可使用on()轻松完成,你会发现,on换成bind是不行的。

<input type="text" id="str">
<button id="btn">添加</button>
<h3>To do list</h3>
<ul></ul>
$(document).ready(function(){
 $('#btn').on('click',function(){
  var str = $('#str').val();
  $('<li>').text(str).appendTo('ul'); 
  $('#str').val('');
 })

 //To do list双击删除
 $(document).on('dblclick','li',function(){
  $(this).remove();
 })
});

on()事件绑定的妙用:我们经常要在网页里面处理大量的表格,假设表格有1000行,如果为每个tr都绑定一个click事件是非常占用内存的,而更加优雅的方法是:使用父元素tbody作事件代理,只需绑定一次,子孙元素tr上发生的事件会冒泡到tbody进行处理,节省开销

//效率低下的写法
$( "#dataTable tbody tr" ).on( "click", function() { \……

//换成优雅高效滴
$( "#dataTable tbody" ).on( "click", "tr", function() { \……

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

jQuery 相关文章推荐
jQuery实现简单的抽奖游戏
May 05 jQuery
jquery实现放大镜简洁代码(推荐)
Jun 08 jQuery
jQuery、layer实现弹出层的打开、关闭功能
Jun 28 jQuery
基于jQuery Easyui实现登陆框界面
Jul 10 jQuery
vue单页应用中如何使用jquery的方法示例
Jul 27 jQuery
jQuery插件DataTables分页开发心得体会
Aug 22 jQuery
基于jQuery Ajax实现下拉框无刷新联动
Dec 06 jQuery
jQuery实现鼠标响应式透明度渐变动画效果示例
Feb 13 jQuery
jQuery中$原理实例分析
Aug 13 jQuery
jQuery对底部导航进行跳转并高亮显示的实例代码
Apr 23 jQuery
JQuery属性操作与循环用法示例
May 15 jQuery
如何使用Jquery动态生成二级选项列表
Feb 06 jQuery
如何编写jquery插件
Mar 29 #jQuery
jQuery日程管理控件glDatePicker用法详解
Mar 29 #jQuery
jQuery实现简单漂亮的Nav导航菜单效果
Mar 29 #jQuery
jQuery实现的手风琴侧边菜单效果
Mar 29 #jQuery
jQuery实现字体颜色渐变效果的方法
Mar 29 #jQuery
jquery实现tab键进行选择后enter键触发click行为
Mar 29 #jQuery
jQuery插件之validation插件
Mar 29 #jQuery
You might like
php文件压缩之PHPZip类用法实例
2015/06/18 PHP
php使用Swoole实现毫秒级定时任务的方法
2020/09/04 PHP
自动更新作用
2006/10/08 Javascript
解决angular的$http.post()提交数据时后台接收不到参数值问题的方法
2015/12/10 Javascript
基于jQuery实现选取月份插件附源码下载
2015/12/28 Javascript
JavaScript判断变量是否为数组的方法(Array)
2016/02/24 Javascript
javascript计时器编写过程与实现方法
2016/02/29 Javascript
第十章之巨幕页头缩略图与警告框组件
2016/04/25 Javascript
vue 动态修改a标签的样式的方法
2018/01/18 Javascript
vue父组件向子组件传递多个数据的实例
2018/03/01 Javascript
JS实现访问DOM对象指定节点的方法示例
2018/04/04 Javascript
Node.js Express安装与使用教程
2018/05/11 Javascript
JS 使用 window对象的print方法实现分页打印功能
2018/05/16 Javascript
vue.js+element-ui动态配置菜单的实例
2018/09/07 Javascript
JavaScript数组、json对象、eval()函数用法实例分析
2019/02/21 Javascript
JavaScript Canvas编写炫彩的网页时钟
2019/10/16 Javascript
js实现拖动缓动效果
2020/01/13 Javascript
详解vue3中组件的非兼容变更
2021/03/03 Vue.js
[56:56]VG vs LGD 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.22
2019/09/05 DOTA
在Python的Django框架中调用方法和处理无效变量
2015/07/15 Python
Python操作Access数据库基本步骤分析
2016/09/19 Python
用python实现刷点击率的示例代码
2019/02/21 Python
使用python创建Excel工作簿及工作表过程图解
2020/05/27 Python
Python基于smtplib模块发送邮件代码实例
2020/05/29 Python
基于Keras的格式化输出Loss实现方式
2020/06/17 Python
pytorch Dataset,DataLoader产生自定义的训练数据案例
2021/03/03 Python
浅谈HTML5中dialog元素尝鲜
2018/10/15 HTML / CSS
Allen Edmonds官方网站:一家美国优质男士鞋类及配饰制造商
2019/03/12 全球购物
Spartoo美国:欧洲排名第一的在线时装零售商
2019/12/12 全球购物
广州地球村科技数据库题目
2016/04/25 面试题
报社实习生自荐信
2014/01/24 职场文书
模具专业毕业推荐信
2014/03/08 职场文书
工厂门卫岗位职责范本
2014/04/04 职场文书
地球一小时活动总结
2015/02/27 职场文书
2015迎新晚会活动总结
2015/07/16 职场文书
2015年物流客服工作总结
2015/07/27 职场文书