码迷,mamicode.com
首页 > Web开发 > 详细

jquery 事件

时间:2016-07-05 01:08:58      阅读:334      评论:0      收藏:0      [点我收藏+]

标签:

1、DOM0 事件模型:

就是在类似 onclick  onmouseover 等 这些

在js中: event:  var event = event?event:window.event; (微软中用 window.event 而不是 event) 

        var  target = (event.target)?event.target:event.srcElement;

 

技术分享

事件冒泡:

当目标元素获得机会处理事件后,目标元素的父元素也会进行相应的事件处理,然后再是他的父元素,一直到DOM数的根部,称之为事件冒泡;

<html lang="en" id="html">
<body id="body">

<div id="box1" >  
        <div id="box2" >  
            <span id="span">This is a span.</span>  
        </div>  
</div>  

<div class="show"></div>
  
</body>

<script type="text/javascript" src="jquery-1.8.3.js"></script>
    <script type="text/javascript">
    $(function(){
      var all = $("*");
      all.each(function(){
        this.onclick = function(event){
          var event = event?event:window.event;
          var target = event.target ? event.target:event.srcElement;

          $(".show").html($(".show").html()+"事件源:    "+target.id +"     事件对象: "+this.id+"<br/>");

        }
      });
    })


</html>

技术分享   当点击 this is span  如图的冒泡显示,为了阻止冒泡,可以使用: event.stopPropagation  或者  event.canceBubble =true;

DOM0事件只有 事件冒泡,

DOM0事件中,后面的事件会覆盖前面的,最终只有最后一个执行,

技术分享

使用DOM2 模型,可以避免 覆盖

2、DOM2事件模型:

DOM2级的事件规定了事件流包含三个阶段包括: 1:事件捕获, 2:处于目标阶段, 3:事件冒泡阶段

js中 DOM2 使用的方法: addEventListener(参数一,参数二,参数三),  参数一:事件名称(click,mouseover),参数二:事件函数,参数三:设置    是冒泡还是捕获,true 是 捕获,false 是冒泡

IE中是 attachEvent(参数一,参数二);参数一 是 on+事件名称,参数二 是 事件函数,

 

DOM0与DOM2 的区别:

从两方面来说

1、

使用DOM0级,在向同一事件(比如onclick)添加处理函数时,只能添加一个,如果添加了两个,后面的会覆盖前面的:

1
2
element.onclick = clickHandler1;
element.onclick = clickHandler2;//clickHandler2会覆盖clickHandler1

而使用DOM2级,可以向同一事件添加多个处理函数:

1
2
element.addEventListener(‘clcik‘,clickHandler1,false);
element.addEventListener(‘clcik‘,clickHandler2,false);

2、

使用DOM2级可以通过最后的boolean值指定事件触发的阶段,false为冒泡阶段,true为捕获阶段。

 

Jquery的事件模型:

jquery中,用bind() 方法来进行事件的绑定。

技术分享  

jquery 可以简写绑定事件:

技术分享    技术分享

 

jquery 也提供了一个bind()的特殊版本,是one(),事件执行一次后,就作为事件处理程序 自动删除,用法类似bind();

解除绑定,unbind();

 

hover()和 toggle():

技术分享 技术分享

技术分享  

 

模拟操作:

 

技术分享

 

jquery 事件

标签:

原文地址:http://www.cnblogs.com/a-lonely-wolf/p/5642090.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!