jQuery事件详解

 更新时间:2017年02月23日 15:13:22   作者:qjt970518  
本文主要介绍了jQuery事件的相关知识,具有很好的参考价值,下面跟着小编一起来看下吧

一.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()不支持绑定动态添加的元素

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

相关文章

  • 深入理解jQuery layui分页控件的使用

    深入理解jQuery layui分页控件的使用

    jquery layui分页控件在项目开发阶段经常用到,下面通过本文给大家介绍jQuery layui分页控件的使用,非常不错,感兴趣的朋友一起看下吧
    2016-08-08
  • jQuery获取cookie值及删除cookie用法实例

    jQuery获取cookie值及删除cookie用法实例

    这篇文章主要介绍了jQuery获取cookie值及删除cookie用法,实例分析了jQuery操作cookie时域和路径的作用,以及针对cookie的读取与删除技巧,需要的朋友可以参考下
    2016-04-04
  • jquery获取tr中控件值并操作tr实现思路

    jquery获取tr中控件值并操作tr实现思路

    本教程将详细介绍下jquery如何获取tr中控件值并操作tr,代码很精简,感兴趣的各位可以参考下哈,希望可以帮助到你们
    2013-03-03
  • jQuery中last()方法用法实例

    jQuery中last()方法用法实例

    这篇文章主要介绍了jQuery中last()方法用法,实例分析了last()方法获取匹配元素集合中的最后一个元素时的使用技巧,需要的朋友可以参考下
    2015-01-01
  • 使用jQuery卸载全部事件的思路详解

    使用jQuery卸载全部事件的思路详解

    本文是小编给大家带来的jquery卸载全部事件的思路,非常不错,具有参考借鉴价值,需要的朋友一起看看吧!
    2017-04-04
  • GridView中获取被点击行中的DropDownList和TextBox中的值

    GridView中获取被点击行中的DropDownList和TextBox中的值

    本文为大家介绍下如何通过点击GridView中的a标签获取被点击行中的下拉框和文本框中的值,具体实现嗲吗如下,感兴趣的朋友可以参考下哈,希望对大家有所帮助
    2013-07-07
  • jQuery 常见小例汇总

    jQuery 常见小例汇总

    本文主要对基于jQuery实现的常用小案例进行汇总,具有一定的参考价值,需要的朋友一起来看下吧
    2016-12-12
  • jquery实现可关闭的倒计时广告特效代码

    jquery实现可关闭的倒计时广告特效代码

    这篇文章主要介绍了jquery实现可关闭的倒计时广告特效代码,涉及jquery计时器及鼠标事件动态操作页面元素样式的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-09-09
  • jquery实现漂亮的二级下拉菜单代码

    jquery实现漂亮的二级下拉菜单代码

    这篇文章主要介绍了jquery实现漂亮的二级下拉菜单代码,涉及jquery鼠标click事件控制页面class属性动态变换效果的切换技巧,非常美观实用,需要的朋友可以参考下
    2015-08-08
  • jquery dialog键盘事件代码

    jquery dialog键盘事件代码

    jquery dialog键盘事件代码,检测回车等事件的触发问题。
    2010-08-08

最新评论