前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JQuery各种点击事件的区别

JQuery各种点击事件的区别

作者头像
用户6182664
修改2019-09-27 10:47:46
2.9K0
修改2019-09-27 10:47:46
举报

在工作中,经常用到js的点击事件,有好多种表现形式,今天抽空总结一下它们的区别与联系。废话不多说,开始写测试案例。首先声明,本人水平有限,如果有错误之处,还请指正。

一、.点击事件,用到的有

1:$(".J_edit_save").on('click',function(e){};

2:$('#J_new').click(function(e){});

3:$('.J_desc').live('click', function(e){});

4:$('body').on('click', '#btn_delete', function() {});

大概四种形式,首先在动态加载元素的事件绑定方面。现在一一测试一下:

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"> </script> <script> $(function() { $("#hide").click(function(){ $("p").toggle(); }); }); </script> </head> <body> <p>hideOrShow </p> <button id="hide">click me</button> </body> </html>

静态点击事件,直接.click,还有其他方式都可以达到效果

修改为动态添加,然后绑定事件,测试一下:

测试结果:

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"> </script> <script> $(function() { $('body').on('click', '#hide', function() { $("p").toggle(); var openDiv = document.createElement("div"); openDiv.id = "div"; openDiv.style.width = 100+"px"; openDiv.style.height = 120+"px"; document.body.appendChild(openDiv); $("#div").append('<a class="J_a" >hello world!</a>'); $(".J_a").click(); }); $('body').on('click', '.J_a', function() { alert('hello'); }); }); </script> </head> <body> <p>hideOrShow </p> <button id="hide">click me</button> </body> </html>

在动态加载出的元素中,添加的事件。$('body').on('click', '.J_a', function() {}),3:$('.J_desc').live('click', function(e){});动态绑定成功!

$(".J_edit_save").on('click',function(e){}; , $('#J_new').click(function(e){});动态绑定定失败!

其次,在js操作的效率上:

$('body').on('click', '#btn_delete', function() {});方式为运用事件冒泡,有效减少内存的占用 。

原理为首先确定第一个标签$('body')的位置,再在下面搜索#btn_delete的位置,执行click事件

冒泡方式的恰当运用为:

$('.action-box').on('click', '#btn-add, #btn-delete', function(){ if($(this).attr('id') == 'btn-add'){ //do something } else{ //do something } });

通过冒泡事件绑定多个操作,增强代码的复用。

喜欢的朋友可以扫描我的个人公众号,有好东西可以一起分享。免费获取各种学习视频、源码、PPT资料

也可以微信搜索公众号:Java程序员那些事

最新文章会在公众号优先发布,感谢关注。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-05-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java程序员那些事 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档