JavaScript HTML DOM 事件
HTML DOM 允许 JavaScript 对 HTML 事件作出反应:
鼠标移上来!
点击我
对事件作出反应
JavaScript 能够在事件发生时执行,比如当用户点击某个 HTML 元素时。
为了在用户点击元素时执行代码,请向 HTML 事件属性添加 JavaScript 代码:
- onclick=JavaScript
HTML 事件的例子:
- 当用户点击鼠标时
- 当网页加载后
- 当图像加载后
- 当鼠标移至元素上时
- 当输入字段被改变时
- 当 HTML 表单被提交时
- 当用户敲击按键时
在本例中,当用户点击 <h1> 时,会改变其内容:
实例
- <!DOCTYPE html>
- <html>
- <body>
- <h1 onclick="this.innerHTML = 'Hello!'">点击此文本!</h1>
- </body>
- </html>
在本例中,从事件处理程序调用函数:
实例
- <!DOCTYPE html>
- <html>
- <body>
- <h1 onclick="changeText(this)">点击此文本!</h1>
- <script>
- function changeText(id) {
- id.innerHTML = "Hello:)";
- }
- </script>
- </body>
- </html>
HTML 事件属性
如需向 HTML 元素分配事件,您能够使用事件属性。
实例
向 button 元素分配 onclick 事件:
- <button onclick="displayDate()">试一试</button>
在上例中,名为 displayDate 的函数会在按钮被点击时执行。
使用 HTML DOM 分配事件
HTML DOM 允许您使用 JavaScript 向 HTML 元素分配事件:
实例
为 button 元素指定 onclick 事件:
- <script>
- document.getElementById("myBtn").onclick = displayDate;
- </script>
在上例中,名为 displayDate 的函数被分配到 id="myBtn" 的 HTML 元素。
当点击按钮时将执行函数。
onload 和 onunload 事件
当用户进入后及离开页面时,会触发 onload 和 onunload 事件。
onload 事件可用于检测访问者的浏览器类型和浏览器版本,然后基于该信息加载网页的恰当版本。
onload 和 onunload 事件可用于处理 cookie。
实例
- <body onload="checkCookies()">
onchange 事件
onchange 事件经常与输入字段验证结合使用。
下面是一个如何使用 onchange 的例子。当用户改变输入字段内容时,会调用 upperCase() 函数。
实例
- <input type="text" id="fname" onchange="upperCase()">
onmouseover 和 onmouseout 事件
onmouseover 和 onmouseout 事件可用于当用户将鼠标移至 HTML 元素上或移出时触发某个函数:
鼠标移上来!
onmousedown, onmouseup 以及 onclick 事件
onmousedown, onmouseup 以及 onclick 事件构成了完整的鼠标点击事件。
首先当鼠标按钮被点击时,onmousedown 事件被触发;然后当鼠标按钮被释放时,onmouseup 事件被触发;最后,当鼠标点击完成后,onclick 事件被触发。
点击我
更多实例
onmousedown 和 onmouseup
当用户按下鼠标按钮时改变图像。
<!DOCTYPE html>
<html>
<head>
<script>
function lighton() {
document.getElementById('myimage').src = "/i/eg_bulbon.gif";
}
function lightoff() {
document.getElementById('myimage').src = "/i/eg_bulboff.gif";
}
</script>
</head>
<body>
<img id="myimage" onmousedown="lighton()" onmouseup="lightoff()" src="/i/eg_bulboff.gif" />
<p>点击鼠标并按住!</p>
</body>
</html>
onload
当页面已完成加载时显示报警框。
<!DOCTYPE html>
<html>
<body onload="checkCookies()">
<p id="demo"></p>
<script>
function checkCookies() {
var text = "";
if (navigator.cookieEnabled == true) {
text = "Cookie 已启用";
} else {
text = "Cookie 未启用";
}
document.getElementById("demo").innerHTML = text;
}
</script>
</body>
</html>
onfocus
当输入字段获得焦点时改变其背景色。
<!DOCTYPE html>
<html>
<head>
<script>
function myFunction(x) {
x.style.background = "yellow";
}
</script>
</head>
<body>
请输入您的名字:<input type="text" onfocus="myFunction(this)">
<p>当输入字段获得焦点时,将触发一个更改背景颜色的函数。</p>
</body>
</html>
鼠标事件
当指针移动到元素上时改变其颜色。
<!DOCTYPE html>
<html>
<body>
<h1 onmouseover="style.color='red'"
onmouseout="style.color='black'">
鼠标移动到此文本上</h1>
</body>
</html>
HTML DOM Event 对象参考手册
如需所有 HTML DOM 事件的列表,请访问我们完整的 HTML DOM 事件对象参考手册。