写点什么

元素的常用事件

作者:Jason199
  • 2022 年 6 月 22 日
  • 本文字数:2525 字

    阅读完需:约 8 分钟

元素的常用事件

事件

JS 里面, 事件分为几个大类

          1. 鼠标事件

          2. 键盘事件

          3. 浏览器事件

          4. 表单事件

          5. 拖拽事件

          6. 触摸事件(移动端)

          7. 其他事件

        JS 里面的所有原生事件没有大写字母

1.鼠标事件

        1. click => 鼠标左键单击

        2. dblclick => 鼠标左键双击

        3. contextmenu => 鼠标右键单击

        4. mousewheel => 滚轮滚动

        5. mousedown => 鼠标按下

        6. mouseup => 鼠标抬起

        7. mousemove => 鼠标移动

        8. mouseover => 鼠标移入

        9. mouseout => 鼠标移出

        10. mouseenter => 鼠标移入

        11. mouseleave => 鼠标移出

2.键盘事件

        不是所有元素都能触发

        表单元素(有选中效果), document, window

        1. keydown 键盘按下

         只要是你键盘上的按键就可以触发

        2. keyup 键盘抬起

        3. keypress 键盘按下

          必须要准确嵌入到文本框里面的内容才会触发

   // 2-1. keydown   inp.onkeydown = function ()   { console.log('键盘按下了') };
// 2-2. keyup inp.onkeyup = function () { console.log('键盘抬起') };
// 2-3. keypress inp.onkeypress = function () { console.log('键盘按下') };
复制代码

       

3.浏览器事件

        1. load => 页面加载完毕

        2. scroll => 滚动

        3. resize => 窗口尺寸改变

        4. offline => 网络断开

        5. online => 网络恢复

        6. hashchange => 当 hash 值改变的时候

    // 3-4. offline    window.onoffline = function ()     { console.log('没有网络了') };   // 3-5. online     window.ononline = function ()     { console.log('网络回覆了') };  // 3-6. hashchange     window.onhashchange = function ()      { console.log('哈希值改变了') };
复制代码

4.表单事件

        表单事件绑定给 表单元素 和 form 标签的

        1. change => 表单内容改变

  2. input => 表单输入事件

  3. focus => 表单聚焦事件

        4. blur => 表单失焦事件

        5. submit => 表单提交事件

        6. reset => 表单重置事件

       

  // 4-1. change     inp.onchange = function () { console.log('表单发生变化了') }; // 4-2. input    inp.oninput = function () { console.log('输入内容') }; // 4-3. focus    inp.onfocus = function () { console.log('聚焦') }; // 4-4. blur    inp.onblur = function () { console.log('失焦') }; // 4-5. submit     form.onsubmit = function () { console.log('表单提交'); return false };  // 4-6. reset     form.onreset = function () { console.log('表单重置') };
复制代码

5.拖拽事件

        一般元素想触发拖拽行为, 要给元素加一个属性

        draggable="true"

        需要两个元素完成一个完整的拖拽

          1. 拖拽元素

1. dragstart => 拖拽开始

          绑定给拖拽元素的

        2. drag => 拖拽移动

          绑定给拖拽元素

        3. dragend => 拖拽结束

          绑定给拖拽元素


          2. 目标元素

        4. dragenter => 拖拽进入目标元素

光标进入目标元素

        5. dragleave => 拖拽离开目标元素

        光标离开目标元素

        6. dragover => 拖拽元素再目标元素里面移动

        7. drop => 拖拽元素再目标元素内放手

必须要在 dragover 事件里面阻止默认行为

    // 5-1. dragstart    div.ondragstart = function () { console.log('开始拖拽') };
// 5-2. drag div.ondrag = function () { console.log('拖拽中...') };
// 5-3. dragend div.ondragend = function () { console.log('拖拽结束') };
// 5-4. dragenter p.ondragenter = function () { console.log('进入目标元素') };
// 5-5. dragleave p.ondragleave = function () { console.log('离开目标元素') };
// 5-6. dragover p.ondragover = function (e) { e.preventDefault() console.log('再目标元素内移动') };
// 5-7. drop p.ondrop = function () { console.log('再目标元素内放手') };
复制代码

6.触摸事件

        移动端使用

        1. touchstart => 触摸开始

        2. touchmove => 触摸移动

        3. touchend => 触摸结束

  // 6-1. touchstart    div.ontouchstart = function () { console.log('触摸开始') };   // 6-2. touchmove   div.ontouchmove = function () { console.log('触摸移动') };  // 6-3. touchend    div.ontouchend = function () { console.log('触摸结束') };
复制代码

 7.其他事件

        1. transitionend => 过渡结束

          当你有过渡属性的时候

          过渡结束触发, 你过渡几个属性触发多少次

        2. selectstart => 开始选择

          当你想在页面中框选文档的时候触发

        3. visibilitychange => 窗口隐藏和显示

          只能绑定给 document

     // 7-1 transitionend    div.ontransitionend = function () { console.log('过渡结束') };     // 7-2. selectstart     document.onselectstart = function (e) {      e.preventDefault()      alert('请支付后复制');     };     // 7-3. visibilitychange    document.onvisibilitychange = function () { console.log('隐藏显示状态改变了') };
复制代码

以上为几种常用的事件。这里不说实战只是单纯地介绍这些事件的使用语法,具体要怎样实现功能希望大家能在自己去写一写,这样记忆的会更深刻,后续我会讲渲染,看看这些方法在实战中如何应用。

发布于: 刚刚阅读数: 2
用户头像

Jason199

关注

还未添加个人签名 2022.04.29 加入

一条努力上岸的咸鱼

评论

发布
暂无评论
元素的常用事件_js_Jason199_InfoQ写作社区