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简介_动力节点Java学院整理
Jul 04 jQuery
jquery插件canvaspercent.js实现百分比圆饼效果
Jul 18 jQuery
jQuery实现腾讯信用界面(自制刻度尺)样式
Aug 15 jQuery
jqueryUI tab标签页代码分享
Oct 09 jQuery
jQuery图片加载失败替换默认图片方法汇总
Nov 29 jQuery
jquery 给动态生成的标签绑定事件的几种方法总结
Feb 24 jQuery
[原创]jQuery实现合并/追加数组并去除重复项的方法
Apr 11 jQuery
vue+jquery+lodash实现滑动时顶部悬浮固定效果
Apr 28 jQuery
jQuery插件Validation表单验证详解
May 26 jQuery
jQuery实现当拉动滚动条到底部加载数据的方法分析
Jan 24 jQuery
使用jquery的cookie实现登录页记住用户名和密码的方法
Mar 13 jQuery
jQuery实现动态生成年月日级联下拉列表示例
May 11 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
自己动手,丰衣足食 - 短波框形天线制作
2021/03/01 无线电
php数组函数序列之array_splice() - 在数组任意位置插入元素
2011/11/07 PHP
PHP读MYSQL中文乱码的快速解决方法
2016/10/01 PHP
yii2.0框架使用 beforeAction 防非法登陆的方法分析
2019/09/11 PHP
Laravel修改验证提示信息为中文的示例
2019/10/23 PHP
Cookie跨域问题解决方案代码示例
2020/11/24 PHP
用jQuery获取IE9下拉框默认值问题探讨
2013/07/22 Javascript
jQuery表格插件datatables用法总结
2014/09/05 Javascript
jquery checkbox无法用attr()二次勾选问题的解决方法
2016/07/22 Javascript
Bootstrop实现多级下拉菜单功能
2016/11/24 Javascript
基于JavaScript实现全选、不选和反选效果
2017/02/15 Javascript
详解JSONObject和JSONArray区别及基本用法
2017/10/25 Javascript
vue多页面开发和打包正确处理方法
2018/04/20 Javascript
jquery 动态遍历select 赋值的实例
2018/09/12 jQuery
对Vue.js之事件的绑定(v-on: 或者 @ )详解
2018/09/15 Javascript
vue在自定义组件中使用v-model进行数据绑定的方法
2019/03/25 Javascript
vue-cli4项目开启eslint保存时自动格式问题
2020/07/13 Javascript
[46:03]LGD vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python网络编程详解
2017/10/31 Python
python的格式化输出(format,%)实例详解
2018/06/01 Python
python实现微信小程序自动回复
2018/09/10 Python
详解python执行shell脚本创建用户及相关操作
2019/04/11 Python
原生python实现knn分类算法
2019/10/24 Python
jupyter note 实现将数据保存为word
2020/04/14 Python
python用什么编辑器进行项目开发
2020/06/17 Python
Python安装第三方库攻略(pip和Anaconda)
2020/10/15 Python
python录音并调用百度语音识别接口的示例
2020/12/01 Python
Matplotlib中rcParams使用方法
2021/01/05 Python
[原创]赚疯了!转手立赚800+?大佬的python「抢茅台脚本」使用教程
2021/01/12 Python
pycharm配置QtDesigner的超详细方法
2021/01/25 Python
2014年医院个人工作总结
2014/12/09 职场文书
爱国主义教育基地观后感
2015/06/18 职场文书
煤矿安全生产工作总结
2015/08/13 职场文书
导游词之湖北武当山
2019/09/23 职场文书
JavaScript中关于预编译、作用域链和闭包的理解
2021/03/31 Javascript
opencv读取视频并保存图像的方法
2021/06/04 Python