博客
关于我
JavaScript事件汇总
阅读量:333 次
发布时间:2019-03-04

本文共 1960 字,大约阅读时间需要 6 分钟。

JS事件汇总整理

1. 键盘事件

键盘事件是跟踪用户键盘输入的重要工具,常见的键盘事件有以下几个:

常用键盘事件
  • onkeyup:某个键盘按键被松开时触发
  • onkeydown:某个键盘按键按下时触发
  • onkeypress:某个键盘按键按下时触发,但不识别功能键(如Ctrl、Shift、箭头键等)
键盘事件对象

键盘事件对象提供了一些有用的属性:

  • keyCode:返回按下键的ASCII码值
  • keyChar:返回按下键对应的字符(非功能键时)
  • ctrlKey:判断是否按下Ctrl键
  • shiftKey:判断是否按下Shift键
  • altKey:判断是否按下Alt键
通过keyCode判断键盘输入
document.addEventListener('keyup', function(e) {    console.log('键盘松开:' + e.keyCode);});document.addEventListener('keydown', function(e) {    console.log('键盘按下:' + e.keyCode);});document.addEventListener('keypress', function(e) {    console.log('键盘按下(不含功能键):' + e.keyChar);});

2. 鼠标事件

鼠标事件是跟踪用户鼠标操作的重要工具,常见的鼠标事件有以下几个:

鼠标事件类型
  • click:鼠标左键单击时触发(右键或中间鼠标按钮不会触发)
  • dblclick:鼠标左键双击时触发
  • mousedown:鼠标任意按钮按下时触发
  • mouseup:鼠标任意按钮松开时触发
  • mousemove:鼠标在某个元素上移动时持续触发
  • mouseover:鼠标指针悬停在某个元素上时触发
  • mouseout:鼠标指针从某个元素上移出时触发
鼠标事件对象

鼠标事件对象提供了丰富的属性来获取鼠标的位置和状态:

  • clientX:以浏览器窗口左上角为原点的x坐标
  • clientY:以浏览器窗口左上角为原点的y坐标
  • offsetX:以事件目标左上角为原点的x坐标
  • offsetY:以事件目标左上角为原点的y坐标
  • pageX:以页面左上角为原点的x坐标
  • pageY:以页面左上角为原点的y坐标
  • screenX:以屏幕左上角为原点的x坐标
  • screenY:以屏幕左上角为原点的y坐标
  • layerX:以绝对定位元素的左上角为原点的x坐标
  • layerY:以绝对定位元素的左上角为原点的y坐标
鼠标位置获取
var posX = 0, posY = 0;var event = event || window.event;if (event.pageX || event.pageY) {    posX = event.pageX;    posY = event.pageY;} else if (event.clientX || event.clientY) {    posX = event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft;    posY = event.clientY + document.documentElement.scrollTop + document.body.scrollTop;}
鼠标事件的执行顺序

鼠标事件的执行顺序通常遵循以下规律:

  • mousedownmouseupclickdblclick

3. HTML事件

HTML事件是跟踪用户与HTML元素交互的重要工具,常见的HTML事件有以下几个:

常见HTML事件
  • load:文档或图片加载完成时触发
  • unload:文档或图片卸载时触发
  • select:文本被选中时触发
  • change:内容被修改时触发
  • focus:元素获得焦点时触发
  • blur:元素失去焦点时触发
  • scroll:滚动带滚动条的元素时触发
  • submit:表单提交时触发
  • reset:重置按钮被点击时触发
示例代码
window.onload = function() {    var d = document.getElementById('d');    d.onchange = function() {        alert('内容发生了变化');    };};

注意事项

  • 事件冒泡:事件可能会向上或向下冒泡,需根据具体情况处理。
  • 事件对象:事件对象可以通过event.target获取当前触发事件的元素。
  • 跨浏览器兼容:在编写事件处理函数时,需考虑不同浏览器的差异,尽量使用统一的事件处理方式。
  • 转载地址:http://lcie.baihongyu.com/

    你可能感兴趣的文章
    原生 JS 封装的一些方法 【更新中...】
    查看>>
    Vue Element UI Upload 上传多张图片
    查看>>
    JS数据类型的判断
    查看>>
    Vue面试题总结
    查看>>
    实现一个简易Vue(三)Compiler
    查看>>
    仿小米商城(上)
    查看>>
    仿小米商城(下)
    查看>>
    C#成神之路<10> C#代码中制定决策
    查看>>
    C#成神之路<11> C#循环重复语句
    查看>>
    C#成神之路<17> C#使用磁盘数据文件(1)
    查看>>
    C#成魔之路<2>Windows 应用程序高级控件(2)
    查看>>
    textarea文本框根据输入内容多少自适应高度
    查看>>
    Android Studio Error—Gradle: 错误:编码 GBK 的不可映射字符的
    查看>>
    软件类 软著申请 app软著邮寄申请
    查看>>
    034_swift_自定义视图_使用通知传递消息
    查看>>
    【30】kotlin 闭包
    查看>>
    【40】kotlin 协程 异步下载图片3
    查看>>