HTML基础第九课(事件和事件对象)

一、事件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>事件名称</title>
    <style type="text/css">
        .redDiv{
            width: 200px;
            height: 200px;
            background-color: red;
        }
    </style>
</head>
<body>
   <div class="redDiv"> 
   </div> 
   <form action="" id="red">
       <input type="text" id="uName" />
       <input type="submit" id="submit"/>
       <input type="reset" id="reset"/>
   </form>
</body>
<script type="text/javascript">
    //阻止默认事件

    var redDiv =document.getElementsByClassName("redDiv")[0];
    var reg = document.getElementById("red");
    var uName = document.getElementById("uName");
    //鼠标事件

    redDiv.onmousemove = function(){
        console.log("鼠标在移动的时候触发");
    }
    redDiv.onclick = function(){
        console.log("单击事件");
    }
    redDiv.οndblclick= function(){
        console.log("双击事件");
    }
    redDiv.onmousedown = function(){
        console.log("鼠标按下事件")
    }
    redDiv.onmouseup = function(){
        console.log("鼠标擡起事件");
    }
    redDiv.oncontextmenu = function(){
     console.log("鼠标右击事件");
  //阻止默认事件
        return false;
    }

    //over和out会在鼠标从redDiv的父级移到子级的时候触发。先触发over
    //leave和enter从父级移到子级不会触发。只有鼠标离开/移入整个redDiv的时候才会触发
    redDiv.onmouseover = function(){
        console.log("over鼠标移入");
    }
    redDiv.onmouseout = function(){
        console.log("out鼠标移除");
    }
    redDiv.onmouseenter = function(){
        console.log("enter鼠标移入");
    }
    redDiv.onmouseleave = function(){
        console.log("leave鼠标移除");
    }

    //键盘事件
  document.onkeydown = function(){
      console.log("down键盘按下");
  }
  document.onkeypress = function(){
      console.log("press键盘按下");
  }
  document.onkeyup = function(){
      console.log("键盘擡起事件");
  }

  //表单事件
  uName.onchange = function(){
      console.log("内容发生改变之后触发");
  }
  uName.oninput = function(){
      console.log("内容发生变化之后触发");
  }
  uName.onfocus = function(){
      console.log("聚焦")
  }
  uName.onblur = function(){
      console.log("失焦");
  }
  //给form表单绑定事件
  reg.onsumbmit = function(){
      console.log("提交");
       //阻止默认事件(失去提交的功能)
      return false;
  }
  reg.onreset = function(){
      console.log("重置");
       //阻止默认事件(失去清空的功能)
      return false;
  }

  //window事件
  window.onresize = function(){
      console.log("窗口尺寸发生变化的时候触发");
  }
  //元素
  window.onscroll = function(){
      console.log("窗口内容滚动的时候触发");
  }
  //
  img.onload = function(){
      console.log("图片加载完毕之后触发");
  }
  window.onload = function(){
      console.log("窗口加载完毕之后触发");
  }
    </script>
</html>

二、事件对象

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>事件对象</title>
    <style type="text/css">
        .redDiv{
            width: 200px;
            height: 200px;
            background-color: red;
        }
        p{ 
            margin: 0px;
            height: 100px;
            margin-left: 100px;
            background-color: blue;
        }
    </style>
</head>
<body>
    <div class="redDiv">
        <p></p>
    </div>
</body>
<script type="text/javascript">
    //鼠标事件-》鼠标的位置
    var redDiv = document.getElementsByClassName("redDiv")[0];
   redDiv.onclick = function(ev){
      var evObj = ev || window.event;
       //触发事件的元素(触发事件的元素不一定是绑定事件的元素)
       console.log(evObj.target);

       //鼠标距离窗口顶部的座标
       console.log(evObj.clientY);
       //鼠标距离页面顶部的座标
       console.log(evObj.pageY);
       //鼠标距离target顶部的座标
       console.log(evObj.offsetX);
   }
   //press 区分大小写,但是不支持特殊按键
   //down不区分大小写,但是支持特殊按键
   document.onkeypress = function(ev){
       console.log("press"+ ev.keyCode);
   }
   document.onkeydown = function(ev){
       //keyCode标识哪一个按键
       console.log(ev.keyCode);
       if(ev.keyCode == 66){
           console.log("按了B");
       }
       //判断组合键
       if(ev.keyCode == 66 && ev.metakey == 91){
           console.log("按了command + B");
       }
   }
    </script>
</html>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章