zoukankan      html  css  js  c++  java
  • 事件基础(一)

    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>
  • 相关阅读:
    mysql 中文字段排序( 按拼音首字母排序) 的查询语句
    纯css3样式属性制作各种图形图标
    10个超有用的网页设计工具和资源
    手风琴导航效果实现
    css3动画导航实现
    java实现将资源文件转化成sql语句导入数据库
    select实现输入模糊匹配与选择双重功能
    js一些问题总结
    java实现excel与mysql的导入导出
    《C++程序设计》朝花夕拾
  • 原文地址:https://www.cnblogs.com/xs-yqz/p/4432897.html
Copyright © 2011-2022 走看看