jQuery事件详解


Posted in Javascript onFebruary 23, 2017

一.window事件

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>New Web Project</title>
  <script type="text/javascript" src="js/jQuery1.11.1.js"></script>
  <script type="text/javascript">
   $(function(){
    alert("1");
   })
   window.onload=function
  </script>
 </head>
 <body>
  <h1>New Web Project Page</h1>
 </body>
</html>

二.鼠标事件(光棒效果)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>New Web Project</title>
  <script type="text/javascript" src="js/jQuery1.11.1.js"></script>
  <script type="text/javascript">
   $(function(){
    var aa=$("li");
    aa.mouseover(function(){
     $(this).css("background","blue")
    })
    aa.mouseout(function(){
     $(this).css("background","")
    })
   })
  </script>
 </head>
 <body>
  <ul>
   <li>呵呵</li>
   <li>嘻嘻</li>
   <li>哈哈</li>
  </ul>
 </body>
</html>

三.键盘事件

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>New Web Project</title>
  <script type="text/javascript" src="js/jQuery1.11.1.js"></script>
  <script type="text/javascript">
   $(function(){
    $("input").keyup(function(event){
     var co=event.keyCode;
     alert(co);
    })
   })
  </script>
 </head>
 <body>
  <h1>呵呵</h1> 
  <input />
 </body>
</html>

四.表单事件

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>New Web Project</title>
  <script type="text/javascript" src="js/jQuery1.11.1.js"></script>
  <script type="text/javascript">
   $(function(){
    $("input").focus(function(){
     $("span").addClass("myred")
    });
    $("input").blur(function(){
     $("span").removeClass("myred")
    });
   });
  </script>
 </head>
 <body>
  <h1>呵呵</h1> 
  <input /><span >啊啊啊啊啊啊</span><br />
  <input /><span >啊啊啊啊啊啊</span>
 </body>
</html>

五.绑定 解除

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>New Web Project</title>
  <script type="text/javascript" src="js/jQuery1.11.1.js"></script>
  <script type="text/javascript">
   $(function(){
    $("li").bind({
     "mouseover":function(){
      $(this).css("background","blue")
     },
     "mouseout":function(){
      $(this).css("background","")
     }
     "click":function(){
      alert($(this).text());
     }
    }).unbind("mouseover mouseout");
    });
  </script>
 </head>
 <body>
  <ul>
   <li>呵呵</li>
   <li>嘻嘻</li>
   <li>哈哈</li>
  </ul>
 </body>
</html>

JQ的live(),on(),deletage(),bind()几个的区别

bind()方法是绑定事件最直接的方法,这个方法是绑定到document上存在最久的方法,也很好的解决了兼容性方面的问题;

bind()方法的优点:

1.很好的解决了各个浏览器的兼容性问题;

2.非常方便简单的能进行事件的绑定;

3.对于利用ID选出来的元素是非常好的,不仅仅是很快的可以hook上去(因为一个页面只有一个id),而且当事件发生时,handler可以立即被执行实现方式;

bind()方法的缺点:

1.bind()不会绑定在通过bind()添加的元素上面;

2.他会绑定到所有选出来的元素上面;

3.只有当页面加载完成后才会执行bind()事件,可能会产生效率问题;

live()这个绑定方法是通过冒泡机制来进行绑定的,由于在JQ1.7以上已经不推荐使用,在此不进行说明了;

deletage()这个方法在此之前从来没有用过,看过万丈后才知道还有这么一个绑定事件的方法;

deletage()这个方法的有点像live()方法,但不同于live()方法的地方在于他不会将event绑定到所有的ducoment上面,而是由你决定将他绑定在什么上面;

deletage()的优点:

1.支持绑定到动态添加的元素上面

2.你可以选择把那个那个事件放到你指定的元素上面;

deletage()的缺点:

1.尽管减少了decoment已经很少了,但是还是需要来查找那个元素上面绑定了那个事件。需要花一定的时间。

on():其实bind(),live(),delegate()都可以用on()方法来代替;就像undind();die()和undeletage()一样可以用off()来实现一样;

on()的优点:1.提供了一种统一的绑定事件的机制。

on()的缺点:1.隐藏了一些前面方法的细节。

总结:用bind()的代价是非常大的,他会把所有的时间绑定到DOM上面;

live()zai JQ1.7上面已经不被推荐使用了;

deletage()可以在动态元素上添加绑定事件;

on()结合了前面3种方法,为绑定事件有个统一。但是ON()不支持绑定动态添加的元素

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
js 判断上传文件大小及格式代码
Nov 13 Javascript
在线所见即所得HTML编辑器的实现原理浅析
Apr 25 Javascript
JQuery勾选指定name的复选框集合并显示的方法
May 18 Javascript
纯JS实现本地图片预览的方法
Jul 31 Javascript
jquery属性,遍历,HTML操作方法详解
Sep 17 Javascript
JavaScript  event对象整理及详细介绍
Oct 10 Javascript
深入理解vue Render函数
Jul 19 Javascript
vue-router跳转时打开新页面的两种方法
Jul 29 Javascript
Vue+ElementUI使用vue-pdf实现预览功能
Nov 26 Javascript
JavaScript图像放大镜效果实现方法详解
Jun 28 Javascript
Openlayers显示地理位置坐标的方法
Sep 28 Javascript
原生JS实现拖拽功能
Dec 16 Javascript
Vue2学习笔记之请求数据交互vue-resource
Feb 23 #Javascript
JavaScript基本类型值-Undefined、Null、Boolean
Feb 23 #Javascript
Javascript 链式作用域详细介绍
Feb 23 #Javascript
jQuery的三种bind/One/Live/On事件绑定使用方法
Feb 23 #Javascript
bootstrap weebox 支持ajax的模态弹出框
Feb 23 #Javascript
COM组件中调用JavaScript函数详解及实例
Feb 23 #Javascript
Bootstrap3 多个模态对话框无法显示的解决方案
Feb 23 #Javascript
You might like
星际中的相关伤害
2020/03/04 星际争霸
使用Limit参数优化MySQL查询的方法
2008/11/12 PHP
php绘图之在图片上写中文和英文的方法
2015/01/24 PHP
PHP的Yii框架中Model模型的学习教程
2016/03/29 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
2020/02/18 PHP
jQuery操作Select的Option上下移动及移除添加等等
2013/11/18 Javascript
JS实现清除指定cookies的方法
2014/09/20 Javascript
node.js中的querystring.escape方法使用说明
2014/12/10 Javascript
JS+CSS实现仿支付宝菜单选中效果代码
2015/09/25 Javascript
javascript瀑布流布局实现方法详解
2016/02/17 Javascript
详解微信小程序 页面跳转 传递参数
2016/12/08 Javascript
在js中做数字字符串补0(js补零)
2017/03/25 Javascript
原生js实现简单的链式操作
2017/07/04 Javascript
Vue项目路由刷新的实现代码
2019/04/17 Javascript
vue 解决数组赋值无法渲染在页面的问题
2019/10/28 Javascript
Python xlrd读取excel日期类型的2种方法
2015/04/28 Python
使用Python脚本来获取Cisco设备信息的示例
2015/05/04 Python
轻松理解Python 中的 descriptor
2017/09/15 Python
Python 实现中值滤波、均值滤波的方法
2019/01/09 Python
程序员的七夕用30行代码让Python化身表白神器
2019/08/07 Python
Django框架HttpRequest对象用法实例分析
2019/11/01 Python
利用Python代码实现一键抠背景功能
2019/12/29 Python
详解python内置常用高阶函数(列出了5个常用的)
2020/02/21 Python
Django-migrate报错问题解决方案
2020/04/21 Python
使用pth文件添加Python环境变量方式
2020/05/26 Python
Python实现播放和录制声音的功能
2020/08/12 Python
Python自动化测试中yaml文件读取操作
2020/08/20 Python
浅谈Selenium 控制浏览器的常用方法
2020/12/04 Python
全球酒店预订网站:Hotels.com
2016/08/10 全球购物
美国时尚孕妇装品牌:A Pea in the Pod
2017/07/16 全球购物
Marc O’Polo俄罗斯官方在线商店:德国高端时尚品牌
2019/12/26 全球购物
《音乐之都维也纳》教学反思
2014/04/16 职场文书
大型活动组织方案
2014/05/10 职场文书
民政局个人整改措施
2014/09/24 职场文书
ConstraintValidator类如何实现自定义注解校验前端传参
2021/06/18 Java/Android
Html5同时支持多端sdk的小技巧
2021/11/17 HTML / CSS