zoukankan      html  css  js  c++  java
  • js总结(9)事件和事件对象

    1.事件
    click mouseover 等等这是事件,onclick  onmouseover 表示 一个监听机制  当监听到你做哪个动作 我就要给你相应的回馈。

    鼠标事件:

    click、mousedown(按下)、mousemove(移动)、mouseup(抬起)、contextmenu(右键)、mouseover(覆盖)、mouseout(离开)

    键盘事件:

    keydown > keypress > keyup

    keypress 返回ASCII值  通过这个值 查到 对应的什么字母

    document.onkeypress=function (e) {
         console.log(String.fromCharCode(e.charCode));
      }

    3.文本操作事件
    input,focus(焦点),blur(失去焦点),change(内容改变)

        <script>
    var input=document.getElementsByTagName('input')[0];
    input.oninput=function () {
    this.style.color="#424242"
    }
    
    input.onblur=function () {
      if (this.value=="") {
        this.value="请输入用户名";
      }}
    
    input.onfocus=function () {
      if (this.value=="请输入用户名") {
        this.value="";
      }
    }
        </script>
    

      

    2.事件对象

    var div=document.getElementsByTagName('div')[0];
    div.onclick = function (a) {
    var a=event||winodw.event;
    console.log(a)
    };


    使用案例

    var ul=document.getElementsByTagName('ul')[0];
       ul.onclick=function (e) {
        console.log(e) 
        var event= e||window.enent;
        var  target=event.target||event.srcElement;
        console.log(target.innerText) 
       }


    3.方块运动:

    这里涉及到的知识点:

     1. event.pageX  和  event.pageY [ 鼠标横向纵向距离]

     2.鼠标点击的位置 其实就是 event.pageX -left(偏移量)

    <style>
        div{ 200px;height: 200px;background-color: red;}
    </style>
    </head>
    <body>
    <div style="position: absolute;left: 20px;top: 10px;"></div>
        <script>
       var div=document.getElementsByTagName('div')[0];
       var a,
           b;
        div.onmousedown=function (e) {
    
          a=e.pageX-parseInt(div.style.left);
          b=e.pageY-parseInt(div.style.top);
    
    
           document.onmousemove=function (e) {
            var event=e||window.event;
             div.style.left=e.pageX-a+"px";
             div.style.top=e.pageY-b+"px";
           }
           document.onmouseup=function () {
              document.onmousemove = null;
    
          }
    }
    
        </script>
    

      

  • 相关阅读:
    安卓9.0内测的背后,是上万App开发者半年来的适配优化
    错误记录:vue跟vue编译器版本不一致
    jspdf简单使用
    vue input添加回车触发
    vue watch bug记录
    SecureCRT通过拷贝配置文件登陆
    仿射变换
    opencv图像的旋转
    图像旋转的原理
    CvScalar
  • 原文地址:https://www.cnblogs.com/nice2018/p/9881697.html
Copyright © 2011-2022 走看看