• 事件基础(一)


    1. 什么是事件对象
    2. document对象范围  document是整个页面。但是body仅仅指的是部分,当没设置body的内容的时,里面的内容为空。

    1 window.onload=function(){
    2    document.body.onclick=function ()
    3     {
    4     alert('a');
    5     };
    6 }
    //////////////////////
      document.body.onclick=function ()
        {
        alert('a');
        };
    单独使用这个代码没用window.onload=function(){}时,是没有用的,因为document没有加载完,是获取不到body这个标签的哦。

    这样是不能弹出 a 的;

    1 document.onclick=function ()
    2 {
    3     alert('a');
    4 };

    这样点击时才能弹出 a 

    document 是最顶层的虚拟的父节点,我们可以通过document来找到下面所有的东西。连html也是包含在document里面。

    3. event事件对象、clientX、clientY

      获取鼠标坐标。函数可以传参数

    4. 事件对象的兼容性问题及解决方案

      if else 是通用的解决方案,|| 也是一个常用的解决方法。

     1 document.onclick=function (ev)
     2 {
     3     var oEvent=ev||event;//Ie 下和FF下的兼容性问题
     4     
     5     alert(oEvent.clientX+', '+oEvent.clientY);
     6     //IE
     7     //alert(event.clientX+', '+event.clientY);
     8     
     9     //FF
    10     //alert(ev.clientX+', '+ev.clientY);
    11     
    12     /*if(ev)
    13     {
    14         alert(ev.clientX+', '+ev.clientY);
    15     }
    16     else
    17     {
    18         alert(event.clientX+', '+event.clientY);
    19     }*/
    20 };

    或 的另外一种方法,当 || 一边是真一边是假的时候,他会给你返回那个属于真的。当||两边都是真的时候,他会按先后顺序返回,他先碰到谁,就返回谁。

    var a=12||'abc';
    
    alert(a);
    //返回12;
    
    
    var a='abc'||12;
    
    alert(a);
    //返回 abc
    
    var a=''||12;
    
    alert(a);
    //返回12

    5. 事件冒泡原理

      子类执行完事件之后,会不断的往父级传递。(例如:老师请学生来办公室,然后请家长来)

    1 <body onclick="alert('body');">
    2 <div style="300px; height:300px; background:red;" onclick="alert(this.style.background);">
    3     <div style="200px; height:200px; background:green;" onclick="alert(this.style.background);">
    4         <div style="100px; height:100px; background:#CCC;" onclick="alert(this.style.background);">
    5         </div>
    6     </div>
    7 </div>
     1 window.onload=function ()
     2 {
     3     var oBtn=document.getElementById('btn1');
     4     var oDiv=document.getElementById('div1');
     5     
     6     oBtn.onclick=function (ev)
     7     {
     8         var oEvent=ev||event;
     9         oDiv.style.display='block';
    10         //alert('按钮被点了');
    11         
    12         //oEvent.cancelBubble=true;//取消冒泡
    13     };
    14     
    15     document.onclick=function ()
    16     {
    17         oDiv.style.display='none';
    18         //alert('页面被点了');
    19     };
    20 };

    6. 取消事件冒泡:cancelBubble、弹出层实例

    oEvent.cancelBubble=true;//取消冒泡

    7. 跟随鼠标的DIV实例

     1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     2 <html xmlns="http://www.w3.org/1999/xhtml">
     3 <head>
     4 <style>
     5 #div1 {100px; height:100px; background:red; position:absolute;}
     6 </style>
     7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     8 <title>无标题文档</title>
     9 <script>
    10 document.onmousemove=function (ev)
    11 {
    12     var oEvent=ev||event;
    13     var oDiv=document.getElementById('div1');
    14     
    15     oDiv.style.left=oEvent.clientX+'px';
    16     oDiv.style.top=oEvent.clientY+'px';
    17 };
    18 </script>
    19 </head>
    20 
    21 <body>
    22 <div id="div1">
    23 </div>
    24 </body>
    25 </html>
  • 相关阅读:
    II第三章:(4)Eureka 注册中心
    II第一章:(2)SpringCloud选型和说明
    II第五章:(1)OpenFeign服务接口调用
    II第二章:(3)微服务案例
    II第六章:(1)Hystrix断路器
    II第三章:(7)三个注册中心异同点
    II第三章:(6)Consul注册中心
    II第四章:(1)Ribbon负载均衡服务调用
    II第三章:(5)Zookeeper注册中心
    DNS域名解析 沐春风
  • 原文地址:https://www.cnblogs.com/xs-yqz/p/4432897.html
Copyright © 2020-2023  润新知