JavaScript 常见事件类型及浏览器兼容性详解
本文系统梳理了JavaScript中常见的事件类型,涵盖鼠标点击、键盘按键、页面加载、表单交互、滚动字幕、编辑操作及数据绑定等类别。详细列出了各事件在IE、Netscape及Opera等早期浏览器中的具体支持版本,并提供了如onContextMenu禁止右键等实际应用示例,帮助开发者理解事件机制与兼容性问题。
通用鼠标与键盘事件
本节介绍通用事件类型,包括事件名称、对应的浏览器支持版本以及具体功能描述。
onClick:在IE3、Netscape2及Opera3及以上版本中支持。该事件用于处理鼠标在对象控制范围内点击时的动作。
onDblClick:在IE4、Netscape4及Opera中支持。用于响应鼠标双击操作。
onMouseDown:在IE4、Netscape4及Opera中支持。当鼠标按钮被按下时触发。
onMouseUp:在IE4、Netscape4及Opera中支持。当鼠标按钮从按下状态松开时触发。
onMouseOver:在IE3、Netscape2及Opera3及以上版本中支持。当鼠标指针移动到对象区域上方时触发。
onMouseMove:在IE4、Netscape4及Opera中支持。在鼠标移动过程中持续触发。
onMouseOut:在IE4、Netscape3及Opera3及以上版本中支持。当鼠标指针离开对象区域时触发。
onKeyPress:在IE4、Netscape4及Opera中支持。当键盘按键被按下并释放时触发。注意:页面内需存在已获得焦点的对象。
onKeyDown:在IE4、Netscape4及Opera中支持。当键盘按键被按下时触发。注意:页面内需存在已获得焦点的对象。
onKeyUp:在IE4、Netscape4及Opera中支持。当键盘按键被释放时触发。注意:页面内需存在已获得焦点的对象。
页面状态与加载事件
本节介绍与页面状态相关的事件,包括事件名称、浏览器支持情况及功能描述。
onAbort:在IE4、Netscape3及Opera中支持。当图片下载过程中被用户中断时触发。
onBeforeUnload:在IE4、Netscape及Opera中支持。当前页面内容即将发生变更时触发。
onError:在IE4、Netscape3及Opera中支持。用于捕获页面错误,如脚本错误或外部数据引用错误。
onLoad:在IE3、Netscape2及Opera3及以上版本中支持。当页面内容传输至浏览器完成时触发,包括外部文件加载完毕。onMove:在IE、Netscape4及Opera中支持。当浏览器窗口位置发生移动时触发。
onResize:在IE4、Netscape4及Opera中支持。当浏览器窗口大小改变时触发。
onScroll:在IE4、Netscape及Opera中支持。当浏览器滚动条位置发生变化时触发。
onStop:在IE5、Netscape及Opera中支持。当用户按下浏览器停止按钮或文件下载被中断时触发。
onUnload:在IE3、Netscape2及Opera3及以上版本中支持。当当前页面即将被替换或关闭时触发。
表单交互事件
本节介绍与表单元素相关的事件,包括事件名称、浏览器支持情况及功能描述。
onBlur:在IE3、Netscape2及Opera3及以上版本中支持。当当前元素失去焦点时触发,鼠标点击或键盘操作均可导致此事件。
onChange:在IE3、Netscape2及Opera3及以上版本中支持。当元素失去焦点且内容发生改变时触发,鼠标与键盘操作均可触发。
onFocus:在IE3、Netscape2及Opera3及以上版本中支持。当元素获得焦点时触发。
onReset:在IE4、Netscape3及Opera3及以上版本中支持。当表单中的RESET属性被激活时触发。
onSubmit:在IE3、Netscape2及Opera3及以上版本中支持。当表单被提交时触发。
滚动字幕与编辑事件
本节介绍滚动字幕(Marquee)相关事件,包括事件名称、浏览器支持情况及功能描述。
onBounce:在IE4、Netscape及Opera中支持。当Marquee内的内容移动至显示范围之外时触发。
onFinish:在IE4、Netscape及Opera中支持。当Marquee元素完成内容显示后触发。
onStart:在IE4、Netscape及Opera中支持。当Marquee元素开始显示内容时触发。
本节介绍编辑相关事件,包括事件名称、浏览器支持情况及功能描述。
onBeforeCopy:在IE5、Netscape及Opera中支持。在将页面当前选中内容复制到系统剪贴板之前触发。
onBeforeCut:在IE5、Netscape及Opera中支持。当页面部分或全部内容即将被剪切并移至系统剪贴板时触发。
onBeforeEditFocus:在IE5、Netscape及Opera中支持。当当前元素即将进入编辑状态时触发。
onBeforePaste:在IE5、Netscape及Opera中支持。当内容即将从系统剪贴板粘贴到页面时触发。
onBeforeUpdate:在IE5、Netscape及Opera中支持。当用户粘贴系统剪贴板内容时,用于通知目标对象。
onContextMenu:在IE5、Netscape及Opera中支持。当用户按下鼠标右键出现菜单,或通过键盘触发页面菜单时触发。示例:在<body>标签中加入onContextMenu="return false"可禁用鼠标右键菜单。
onCopy:在IE5、Netscape及Opera中支持。当页面当前选中内容被复制后触发。
onCut:在IE5、Netscape及Opera中支持。当页面当前选中内容被剪切后触发。
onDrag:在IE5、Netscape及Opera中支持。当对象被拖动时触发,属于活动事件。
onDragDrop:在IE、Netscape4及Opera中支持。当外部对象被鼠标拖入当前窗口或帧时触发。
onDragEnd:在IE5、Netscape及Opera中支持。当鼠标拖动结束时触发,即鼠标按钮被释放。
onDragEnter:在IE5、Netscape及Opera中支持。当被拖动的对象进入其容器范围时触发。
onDragLeave:在IE5、Netscape及Opera中支持。当被拖动的对象离开其容器范围时触发。
onDragOver:在IE5、Netscape及Opera中支持。当被拖动对象在另一对象容器范围内拖动时触发。
onDragStart:在IE4、Netscape及Opera中支持。当对象即将被拖动时触发。
onDrop:在IE5、Netscape及Opera中支持。在拖动过程中,释放鼠标键时触发。
onLoseCapture:在IE5、Netscape及Opera中支持。当元素失去由鼠标移动形成的选择焦点时触发。
onPaste:在IE5、Netscape及Opera中支持。当内容被粘贴时触发。
onSelect:在IE4、Netscape及Opera中支持。当文本内容被选中时触发。
onSelectStart:在IE4、Netscape及Opera中支持。当文本内容选择即将开始时触发。
数据绑定与文档处理事件
本节介绍数据绑定相关事件,包括事件名称、浏览器支持情况及功能描述。
onAfterUpdate:在IE4、Netscape及Opera中支持。当数据从数据源传输到对象完成后触发。
onCellChange:在IE5、Netscape及Opera中支持。当数据来源发生变化时触发。
onDataAvailable:在IE4、Netscape及Opera中支持。当数据接收完成时触发。
onDatasetChanged:在IE4、Netscape及Opera中支持。当数据源中的数据发生变化时触发。
onDatasetComplete:在IE4、Netscape及Opera中支持。当来自数据源的全部有效数据读取完毕时触发。
onErrorUpdate:在IE4、Netscape及Opera中支持。当使用onBeforeUpdate事件取消数据传送时,代替onAfterUpdate事件触发。
onRowEnter:在IE5、Netscape及Opera中支持。当当前数据源数据发生变化且有新的有效数据时触发。
onRowExit:在IE5、Netscape及Opera中支持。当当前数据源的数据即将发生变化时触发。
onRowsDelete:在IE5、Netscape及Opera中支持。当当前数据记录即将被删除时触发。
onRowsInserted:在IE5、Netscape及Opera中支持。当当前数据源即将插入新数据记录时触发。
onAfterPrint:在IE5、Netscape及Opera中支持。当文档打印完成后触发。
onBeforePrint:在IE5、Netscape及Opera中支持。当文档即将打印时触发。
onFilterChange:在IE4、Netscape及Opera中支持。当对象滤镜效果发生变化时触发。
onHelp:在IE4、Netscape及Opera中支持。当用户按下F1键或选择浏览器帮助选项时触发。
onPropertyChange:在IE5、Netscape及Opera中支持。当对象属性之一发生变化时触发。
onReadyStateChange:在IE4、Netscape及Opera中支持。当对象初始化属性值发生变化时触发。
AOS.js 动画不触发怎么办?排查 DOM 加载与移动端兼容问题
2026-11-05 17:02:26
sigma.js 怎么实现节点点击、拖拽与悬停提示交互
2026-11-05 15:03:27
Matter.js 与 PixiJS/Three.js 集成:分离物理计算与渲染
2026-11-05 13:43:48
主流JS弹幕库选型指南:Danmaku.js等库的功能与体积对比
2026-11-05 09:28:19
JavaScript点击事件监听与交互效果实例
2026-11-05 09:10:19
