js 事件绑定on()的用法,以及对于其他绑定事件的比较
2017-05-12 09:25
567 查看
事件绑定
1,jQuery 中的on绑定事件的方法:
on() 方法在被选元素及子元素上添加一个或多个事件处理程序。
自从jQuery 1.7 版本之后,on() 方法是bind() 、live()、和 delegate() 方法的新的替 代品,所以我推荐使用这个方法,他简化了jQuery 代码库。
例子1:
跟on()方法类似的 几种事件绑定函数(bind() 、live()、和 delegate() )的用法以及,怎么用on()方法来替代这些方法达到同样的效果:
① : 利用on()方法代替bind()方法达到同样的效果
② : 利用on()方法代替live()方法达到同样的效果
③ : 利用delegate()方法代替live()方法达到同样的效果
2,jQuery 中的on绑定事件解除的方法: off()
提示:如果需要移除绑定的事件,不让它执行,那么需要是要 off() 方法
3,jQuery 中的on方法添加多个事件处理程序
注释:做了一个鼠标移入移出自动添加class的效果
多个事件绑定还有另外一种写法,我感觉这种方法更加方便,更容易修改:
注释:做了一个鼠标移入移出,以及点击自动改变文字颜色的效果
1,jQuery 中的on绑定事件的方法:
on() 方法在被选元素及子元素上添加一个或多个事件处理程序。
自从jQuery 1.7 版本之后,on() 方法是bind() 、live()、和 delegate() 方法的新的替 代品,所以我推荐使用这个方法,他简化了jQuery 代码库。
例子1:
<button class="btn">on点击我</button> <script> $().ready(function(){ $('.btn').on('click',function(){ $(this).css('background','green'); }) }) </script>
跟on()方法类似的 几种事件绑定函数(bind() 、live()、和 delegate() )的用法以及,怎么用on()方法来替代这些方法达到同样的效果:
① : 利用on()方法代替bind()方法达到同样的效果
<button class="btn">on点击我</button> <button class="btn1">bind点击我</button> <script> $().ready(function(){ $('.btn').on('click',function(){ $(this).css('background','green'); }) }) $().ready(function(){ $('.btn1').bind('click',function(){ $(this).css('background','#yellow'); }) }) </script>
② : 利用on()方法代替live()方法达到同样的效果
<button class="btn">on点击我</button> <button class="btn1">live点击我</button> <script> $().ready(function(){ $('.btn').on('click',function(){ $(this).css('background','green'); }) }) $().ready(function(){ $('.btn1').live('click',function(){ $(this).css('background','yellow'); }) }) </script>
③ : 利用delegate()方法代替live()方法达到同样的效果
<div id="div1"> <p>on方法点击.</p> </div> <div id="div2"> <p>delegate方法点击.</p> </div> <script> $().ready(function(){ $('#div1').on('click','p',function(){ $(this).css('background','green'); }) }) $().ready(function(){ $('#div2').delegate('p','click',function(){ $(this).css('background','yellow'); }) }) </script>
2,jQuery 中的on绑定事件解除的方法: off()
提示:如果需要移除绑定的事件,不让它执行,那么需要是要 off() 方法
<button class="btn">on点击我</button> <button class="btn2">点击我取消绑定的点击事件</butto 4000 n> <script> $().ready(function(){ $('.btn').on('click',function(){ $(this).css('background','green'); }); $('.btn2').click(function(){ $('.btn').off('click') }) }) </script>
3,jQuery 中的on方法添加多个事件处理程序
注释:做了一个鼠标移入移出自动添加class的效果
<div id="div2"> <p>Click to set background color using the delegate() method.</p> </div> <style> .red1{color:#c90b45;} </style> <script> $().ready(function(){ $('#div2 p').on('mouseover mouseout',function(){ $(this).toggleClass('red1') }); })
多个事件绑定还有另外一种写法,我感觉这种方法更加方便,更容易修改:
注释:做了一个鼠标移入移出,以及点击自动改变文字颜色的效果
<div id="div2"> <p>Click to set background color using the delegate() method.</p> </div> <style> .red1{color:#c90b45;} </style> <script> $().ready(function(){ $('#div2 p').on({ mouseover: function(){ $(this).css('color','#c90b45'); }, mouseout: function(){ $(this).css('color','green'); }, click: function(){ $(this).css('color','#000'); } }); })
相关文章推荐
- 原生JS事件绑定方法以及jQuery绑定事件方法bind、live、on、delegate的区别
- [TOP]原生JS事件绑定方法以及jQuery绑定事件方法bind、live、on、delegate的区别
- js_前台页面如何设置radio、checkbox、select三者的值以及绑定事件,方便后台接收数据
- jq新版事件绑定.on()、解绑事件off()用法详解
- jquery中事件委派代码分析以及jQuery中delegate和on的用法与区别详细解析
- 关于js动态生成元素,注册(绑定)的事件失效的解决(on)
- 页面元素用JS动态添加的有效事件绑定方式(on)
- jquery textSearch实现页面搜索 注意!!!!调用这个插件后,js事件绑定如,on、bind、live delegate全部失效,折腾了我一整天!!!
- 关于js动态生成元素,注册(绑定)的事件失效的解决(on)
- Jquery中的bind、live、delegate、on绑定事件方法的用法
- JS事件调试 - 查找HTML元素绑定的事件以及绑定代码所在位置
- 【jquery】jquery绑定事件的方式 bind() delegate() live()以及on()
- jQuery对 动态添加 的元素 绑定事件(on()的用法)
- JQuery 绑定select标签的onchange事件,弹出选择的值,并实现跳转、传参(selected的值和页面其它元素的值)以及js的select
- js验证阻止表单提交(表单绑定onsubmit事件)
- 安卓初学:Radio单选框和checkBox多选控件的主要用法以及事件绑定总结
- js,jq新增元素 ,on绑定事件无效
- js onchange事件,以及setAttribute,getAttribute
- iOS上的jQuery.on()冒泡事件绑定 以及 iOS绝对定位元素中的输入框
- 【on】动态标签绑定事件 以及动态删除的参数的变化