JS事件总结

作者: 前端辉羽 | 来源:发表于2020-01-09 15:18 被阅读0次

1.鼠标事件

onmousedown ⿏标按下的时候触发的事件

onmouseup 当⿏标按下后 抬起的时候发⽣的事件

onmousemove 当⿏标移动的时候发⽣

onmouseover 当⿏标移⼊的时候触发

onmouseout 当⿏标移出对象的时候触发

onclick 当⿏标单击的时候触发

ondblclick 当⿏标双击的时候触发

2.键盘事件

onkeydown 当键盘按下的时候触发

onkeyup 当键盘按下抬起的⼀瞬间触发

3.表单事件

onsubmit 当⽤户点击submit按钮来提交表单时,就会触发onsubmit事件,如果事件处理程序返回⼀个false,就会阻⽌表单提交,表单就不会发送数据到服务器。

onchange 修改表单字段的时候触发该事件

onfocus 当获取到焦点到时候触发

onblur 当失去焦点的时候触发

4.窗⼝事件

onload 元素加载完成时触发,常⽤的就是window.onload

window.onload = function(){
//等⻚⾯加载完成时执⾏这⾥的代码
}

onresize 当浏览器窗⼝改变的时候触发

window.onresize = function(){
alert(1)
}

5.event对象

event对象代表事件的状态,当事件发⽣的时候⽤来记录事件的详细信息,类似于⻜机的⿊匣⼦。
在ie和chrome中,事件对象(event)是⼀个内置的全局对象,必须在事件调⽤的时候才有值,如果没有事件调⽤,event没有值,在firefox中event对象没有被定义,如果⼀个函数被事件调⽤,那么这个事件函数中的第⼀个参数就是event对象,这也是标准浏览器下的处理⽅式,在⾮标准下,这种⽅式不被采⽤.

总结:在⾮标准下,使⽤被定义好的event内置对象,在标准下使⽤事件函数中的第⼀个参数,假设传⼊的第⼀个参数为e,可以⽤逻辑或做兼容,var e = e || event

5.1.event对象上的属性 clientX,clientY

clientX 事件属性返回当事件被触发时⿏标指针向对于浏览器⻚⾯(或客户区)的⽔平坐标。clientY 事件属性返回当事件被触发时⿏标指针向对于浏览器⻚⾯(客户区)的垂直坐标。

5.2.event对象上的keycode属性

对于 keypress 事件,该属性声明了被敲击的键⽣成的 Unicode 字符码。对于 keydown 和 keyup 事件,它指定了被敲击的键的虚拟键盘码。虚拟键盘码可能和使⽤的键盘的布局相关。

示例:用方向键控制box元素移动

//通过键盘控制⽅向
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title></title>
  <script type="text/javascript">
    window.onload = function(){
      //获取到box对象
      var oBox = document.getElementById('box');
      //定义x y轴的增量
      var x = y= 0;
      //键盘按下事件
      document.onkeydown = function(e){
      //事件兼容
      var e = e || event;
      //上38 下 40 左37 右39
      switch(e.keyCode){
        case 38:
        y -= 10;
        break;
        case 40:
        y += 10;
        break;
        case 37:
        x -= 10;
        break;
        case 39:
        x += 10;
        break;
      }
      //改变偏移量
      oBox.style.left = x + "px";
      oBox.style.top = y + "px";
    }
  }
</script>
<style type="text/css">
  #box{
    width: 100px;
    height: 100px;
    background: red;
    position: absolute;
  }
</style>
</head>
<body>
  <div id="box">
  </div>
</body>
</html>

5.3.阻止事件冒泡

当⼀个元素接收到⼀个事件以后,会将事件传播给它的⽗级元素,它的负级元素会⼀层⼀层往上传播,直到最顶层window,这种事件传播机制叫作事件冒泡。

在实际开发中我们通常需要阻止事件冒泡,做法是将event对象上的cancelBubble属性设置成true、

兼容性写法:

function stopBubble(e) { 
   if(e && e.stopPropagation) { //非IE 
       e.stopPropagation(); 
   } else { //IE 
       window.event.cancelBubble = true; 
   } 
} 

w3c:event.stopPropagation()

相关文章

  • js中的事件

    简单总结一下js中的事件 事件处理程序 事件委托 各种各样的事件总结 事件中的this指向 事件处理程序 直接在D...

  • js事件总结

    什么是事件: 事件是交互体验的核心功能 一.事件冒泡: 当一个事件发生时,这个事件会从内向外逐层传递。 二.为什么...

  • JS事件总结

    事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放...

  • JS事件总结

    1.鼠标事件 onmousedown ⿏标按下的时候触发的事件 onmouseup 当⿏标按下后 抬起...

  • js事件总结

    EventTarget 接口 EventTarget 接口主要这三个方法 addEventListener:绑定事...

  • jQuery操作事件

    总结:jQuery对象打点 去掉 on 的 js 事件 (1)、jQuery对象 . click(functio...

  • JS事件总结大全

    一般事件: onClick -- 鼠标点击事件,多用在某个对象控制的范围内的鼠标点击 onDblClick -- ...

  • 面试遇到的问题

    2019 web 前端面试总结(内附面经) js事件循环(EventLoop) 浏览器缓存 BFC js基本类型 ...

  • 前端知识点记录总结

    HTML CSS JS 1. dom事件总结 unload:事件在用户退出页面时发生 onblur:失去焦点发生变...

  • vue实现点击其他地方隐藏div

    方法一: 通过监听事件 方法二(比较好): 方法三: 总结: 通过vue.js 事件的.stop修饰符可以阻止事件...

网友评论

    本文标题:JS事件总结

    本文链接:https://www.haomeiwen.com/subject/iubyactx.html