JavaScript - DOM 事件



DOM 事件是可以对 HTML 元素执行的操作。当事件发生时,它会触发 JavaScript 函数。然后,此函数可用于更改 HTML 元素或执行其他操作。

以下是 DOM 事件的一些示例:

  • Click - 当用户单击 HTML 元素时,将触发此事件。
  • Load - 加载 HTML 元素时发生此事件。
  • Change - 当 HTML 元素的值发生更改时,将发生此事件。
  • Submit - 提交 HTML 表单时发生此事件。

您可以使用事件处理程序或 addEventListener() 方法来侦听 DOM 事件并做出反应。addEventListener() 方法采用两个参数:事件的名称和您希望在事件发生时调用的函数。

DOM 事件也称为文档对象模型事件。它用于与 DOM 元素交互,并在发生任何事件时从 JavaScript 操作 DOM 元素。

让我们看看下面的 DOM 事件示例。

onclick 事件类型

这是最常用的事件类型,当用户单击鼠标的左键时发生。您可以针对此事件类型放置验证、警告等。

请尝试以下示例。


<html>
<head> 		
	 	<script>
		 	 	function sayHello() {
		 			 	 alert("Hello World")
		 	 	}
	 	</script> 	 	 	
</head> 		
<body>
	 	<p>Click the following button and see result</p> 	 	 	
	 	<form>
		 	 	<input type = "button" onclick = "sayHello()" value = "Say Hello" />
	 	</form> 	 	 	
</body>
</html>

ondblclick 事件类型

我们在下面的代码中对元素使用 'ondblclick' 事件处理程序。当用户双击该按钮时,它会调用 changeColor() 函数。

在 changeColor() 函数中,我们更改文本的颜色。因此,当用户双击按钮时,代码将更改文本的颜色。


<html>
<body>
	 	<h2 id = "text"> Hi Users! </h2>
	 	<button ondblclick="changeColor()"> Double click me! </button>
	 	<script>
	 	 	 function changeColor() {
	 	 	 	 	document.getElementById("text").style.color = "red";
	 	 	}
	 	</script>
</body>
</html>

 

onkeydown 事件类型

我们在下面的代码中使用了 'keydown' 事件和 <input> 元素。每当用户按下任何键时,它都会调用 customizeInput() 函数。

在 customizeInput() 函数中,我们将输入和输入文本的背景颜色更改为红色。


<html>
<body>
	 	<p> Enter charater/s by pressing any key 	</p>
	 	<input type = "text" onkeydown = "customizeInput()">
	 	<script>
	 	 	 function customizeInput() {
	 	 	 	 	var ele = document.getElementsByTagName("INPUT")[0];
	 	 	 	 	ele.style.backgroundColor = "yellow";
	 	 	 	 	ele.style.color = "red";
	 	 	 }
	 	</script>
</body>

onmouseenter 和 onmouseleave 事件

在下面的代码中,我们使用 'onmouseenter' 和 'onmouseleave' 事件处理程序在 <div> 元素上添加悬停效果。

当鼠标指针进入 <div> 元素时,调用 changeRed() 函数将文本颜色更改为红色,当鼠标指针离开 <div> 元素时,调用 changeBlack() 函数再次将文本颜色更改为黑色。


<html>
<body>
	 	<div id = "text" style = "font-size: 20px;" onmouseenter = "changeRed()" onmouseleave = "changeBlack()"> Hover over the text. </div>
	 	<script>
	 	 	 function changeRed() {
	 	 	 	 	document.getElementById("text").style.color = "red";
	 	 	 }
	 	 	 function changeBlack() {
	 	 	 	 	document.getElementById("text").style.color = "black";
	 	 	 }
	 	</script>
</body>
</html>

HTML 5 标准 DOM 事件

此处列出了标准 HTML 5 事件,供您参考。此处 script 指示要针对该事件执行的 Javascript 函数。

属性 描述
Offline script 在文档脱机时触发
Onabort script 在 abort 事件上触发
onafterprint script 打印文档后触发
onbeforeonload script 在文档加载之前触发
onbeforeprint script 在打印文档之前触发
onblur script 当窗口失去焦点时触发
oncanplay script 当媒体可以开始播放,但可能必须停止以进行缓冲时触发
oncanplaythrough script 当媒体可以播放到最后,而无需停止缓冲时触发
onchange script 当元素更改时触发
onclick script 在鼠标单击时触发
oncontextmenu script 触发上下文菜单时触发
ondblclick script 在鼠标双击时触发
ondrag script 拖动元素时触发
ondragend script 在拖动操作结束时触发
ondragenter script 当元素被拖动到有效的放置目标时触发
ondragleave script 在将元素拖动到有效的放置目标上时触发
ondragover script 在拖动操作开始时触发
ondragstart script 在拖动操作开始时触发
ondrop script 在放置拖动的元素时触发
ondurationchange script 更改媒体长度时触发
onemptied script 当媒体资源元素突然变为空时触发。
onended script 在媒体到达末尾时触发
onerror script 发生错误时触发
onfocus script 在窗口获得焦点时触发
onformchange script 在表单更改时触发
onforminput script 在表单获取用户输入时触发
onhaschange script 当文档发生更改时触发
oninput script 当元素获取用户输入时触发
oninvalid script 当元素无效时触发
onkeydown script 按下某个键时触发
onkeypress script 在按下和释放某个键时触发
onkeyup script 释放键时触发
onload script 在文档加载时触发
onloadeddata script 加载媒体数据时触发
onloadedmetadata script 在加载媒体元素的持续时间和其他媒体数据时触发
onloadstart script 当浏览器开始加载媒体数据时触发
onmessage script 触发消息时触发
onmousedown script 按下鼠标按钮时触发
onmousemove script 当鼠标指针移动时触发
onmouseout script 当鼠标指针移出元素时触发
onmouseover script 当鼠标指针移动到元素上时触发
onmouseup script 释放鼠标按钮时触发
onmousewheel script 旋转鼠标滚轮时触发
onoffline script 在文档脱机时触发
onoine script 在文档联机时触发
ononline script 在文档联机时触发
onpagehide script 当窗口处于隐藏状态时触发
onpageshow script 当窗口变为可见时触发
onpause script 在媒体数据暂停时触发
onplay script 在媒体数据将开始播放时触发
onplaying script 在媒体数据开始播放时触发
onpopstate script 在窗口的历史记录更改时触发
onprogress script 在浏览器获取媒体数据时触发
onratechange script 当媒体数据的播放速率发生更改时触发
onreadystatechange script 在 ready-state 更改时触发
onredo script 在文档执行重做时触发
onresize script 在调整窗口大小时触发
onscroll script 在滚动元素的滚动条时触发
onseeked script 当媒体元素的 seeking 属性不再为 true,并且 seek 已结束时触发
onseeking script 当媒体元素的 seeking 属性为 true 且搜索已开始时触发
onselect script 在选择元素时触发
onstalled script 在获取媒体数据时出错时触发
onstorage script 在文档加载时触发
onsubmit script 提交表单时触发
onsuspend script 当浏览器一直在获取媒体数据,但在获取整个媒体文件之前停止时触发
ontimeupdate script 当媒体更改其播放位置时触发
onundo script 在文档执行撤消时触发
onunload script 在用户离开文档时触发
onvolumechange script 当媒体更改音量时触发,当音量设置为 “mute” 时也触发
onwaiting script 当媒体已停止播放,但预期会恢复时触发