jquery事件

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>jquery事件处理</title>
    <script type="text/javascript" src="jquery.min.js"></script>
    <style type="text/css">
        html,body{
            text-align: center;
            font-size: 20px;
        }
        div{
            margin: 0 auto;
            border: 1px solid #000;
        }
        #cn{
            float: left;
            margin: 50px;
            width: 420px;
            height: 340px;
            line-height: 40px;
        }
        #bj{
            width: 340px;
            height: 260px;

        }
        #hd{
            width: 260px;
            height: 180px;
        }
        #ppc{
            width: 180px;
            height: 75px;
            line-height: 25px;
            padding: 15px 0px 5px 0px ;
        }
        #us{
            float: left;
            margin: 50px 0px;
            width: 420px;
            height: 340px;
        }
    </style>
</head>
<body>
<!--jQuery 的事件处理

目标:
    1、复习事件流的基础知识
    2、了解jQuery 中采用的事件处理方法
    3、熟悉使用jQuery 事件对象
    4、熟悉使用jQuery 事件处理方法
大纲:
     1、复习JavaScript 中关于事件流的知识
        按一定顺序决定一个事件到底有哪个节点接收、这就是事件流
        目前支持两种事件流 一种事件冒泡   一种事件捕获

     2、事件冒泡与事件捕获
        1)事件冒泡:
           最早由IE实现 目前主流的浏览器都支持
           具体含义:最具体的节点,最早接收到事件;然后逐级向上传播到不太具体的节点
              例如phpchina=》海淀=》北京=》中国=》body=》document=》window
        2)  事件捕获
              最早由Netscape 提出  除IE外 其他主流浏览器都支持
               具体含义:不太具体的节点首先接收到事件,最具体的节点最后接收到事件
                 例如:window =>document=> body=> 中国=> 北京=> 海淀=> phpchina
        3)jQuery 的事件处理方案
          处于兼容性的考虑 jQuery 始终会在模型的冒泡阶段注册事件处理函数
          也就是说 总是最计提的元素会首先获得响应事件的机会。


     3、jQuery事件对象
          eve.currentTarget           在事件冒泡阶段中的当前DOM元素
          eve.data                    当前执行的处理器被绑定的时候,包含可选的数据传递给jQuery.fn.bind。
          eve.delegateTarget1
          eve.namespace
          eve.pageX  鼠标相对于文档的左边缘的位置。
          eve.pageY  鼠标相对于文档的顶部边缘的位置。
          eve.relatedTarget 在事件中涉及的其它任何DOM元素。
          eve.result
          eve.target
          eve.timeStamp
          eve.type
          eve.which

          eve.isDefaultPrevented()
          eve.preventDefault()

          eve.isImmediatePropag...()
          eve.stopPropagation()

          eve.isPropagationStopped()
          eve.stopImmediatePro...()
     4、jQuery事件处理方法

    -->
<div id="cn">
    <span>中国</span>
    <div id="bj">
        <span>北京</span>
        <div id="hd">
            <span>海淀</span>
            <div id="ppc">
                <span> <a href="http://www.PHPChina.com">PHPChina</a></span>
            </div>
        </div>
    </div>
</div>
<div id="us">
<span>美国</span>
</div>

<script>

$(document).ready(function () {
  /* $('div').click(function () {
       var id =this.id;
       alert(id);
   }) ;*/

    /* $('div').click(function (event) {
         var id =event.currentTarget.id;
         alert(id);
     }) ;
*/
    var mydata = {name:'laodai',gender:'male'};
/*    $('#ppc').click(mydata,function (event) {
              //event.data 可以直接访问 mydata 的数据
             //处理函数内部 没有直接使用外部定义的变量名 可维护性高
              var str = event.data.name;
              alert(str);
              //全局版本,处理函数函数内部直接使用了外部定义的变量
              //降低了可维护性
        alert(mydata.name);
    });*/
/*    $('#ppc').click(function (event) {
       var str ='鼠标坐标位于:'+event.pageX+','+event.pageY;
       alert(str);
    });*/
  /*$('#ppc').mouseover(function (e) {
             //relatedTarget  不是对每一种事件都生效,他针对存在过度的事件生效
             //比如mouseover mouseout 等等

             alert(e.relatedTarget.id);
  });*/
/*  $('#ppc').click(function (e) {
     var id= e.target.id;
     alert(id);
  });*/


});
</script>
</body>
</html>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容