小码哥的IT人生

JavaScript HTML DOM 事件

JavaScript基础 2022-04-25 01:51:28小码哥的IT人生shichen

JavaScript HTML DOM 事件

HTML DOM 允许 JavaScript 对 HTML 事件作出反应:

鼠标移上来!
点击我

对事件作出反应

JavaScript 能够在事件发生时执行,比如当用户点击某个 HTML 元素时。

为了在用户点击元素时执行代码,请向 HTML 事件属性添加 JavaScript 代码:

onclick=JavaScript

HTML 事件的例子:

  1. 当用户点击鼠标时
  2. 当网页加载后
  3. 当图像加载后
  4. 当鼠标移至元素上时
  5. 当输入字段被改变时
  6. 当 HTML 表单被提交时
  7. 当用户敲击按键时

在本例中,当用户点击 <h1> 时,会改变其内容:

示例代码:

<!DOCTYPE html>
<html>
<body>
<h1 onclick="this.innerHTML = 'Hello!'">点击此文本!</h1>
</body>
</html> 

完整实例:

<!DOCTYPE html>
<html>
<body>
<h1 onclick="this.innerHTML='谢谢!'">请点击此文本!</h1>
</body>
</html>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

在本例中,从事件处理程序调用函数:

示例代码:

<!DOCTYPE html>
<html>
<body>
<h1 onclick="changeText(this)">点击此文本!</h1>
<script>
function changeText(id) { 
    id.innerHTML = "Hello:)";
}
</script>
</body>
</html> 

完整实例:

<!DOCTYPE html>
<html>
<body>
<h1 onclick="changeText(this)">请点击此文本!</h1>
<script>
function changeText(id) {
  id.innerHTML = "谢谢!";
}
</script>
</body>
</html>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

HTML 事件属性

如需向 HTML 元素分配事件,您能够使用事件属性。

示例代码:

向 button 元素分配 onclick 事件:

<button onclick="displayDate()">试一试</button>

完整实例:

<!DOCTYPE html>
<html>
<body>
<p>请点击按钮来显示日期。</p>
<button onclick="displayDate()">时间是?</button>
<script>
function displayDate() {
  document.getElementById("demo").innerHTML = Date();
}
</script>
<p id="demo"></p>
</body>
</html>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

在上例中,名为 displayDate 的函数会在按钮被点击时执行。

使用 HTML DOM 分配事件

HTML DOM 允许您使用 JavaScript 向 HTML 元素分配事件:

示例代码:

为 button 元素指定 onclick 事件:

<script>
document.getElementById("myBtn").onclick = displayDate;
</script> 

完整实例:

<!DOCTYPE html>
<html>
<body>
<p>请点击“试一试”按钮,以执行 displayDate() 函数。</p>
<button id="myBtn">试一试</button>
<p id="demo"></p>
<script>
document.getElementById("myBtn").onclick = displayDate;
function displayDate() {
  document.getElementById("demo").innerHTML = Date();
}
</script>
</body>
</html> 

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

在上例中,名为 displayDate 的函数被分配到 id="myBtn" 的 HTML 元素。

当点击按钮时将执行函数。

onload 和 onunload 事件

当用户进入后及离开页面时,会触发 onloadonunload 事件。

onload 事件可用于检测访问者的浏览器类型和浏览器版本,然后基于该信息加载网页的恰当版本。

onloadonunload 事件可用于处理 cookie。

示例代码:

<body onload="checkCookies()">

完整实例:

<!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>

运行结果:

Cookie 已启用

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

onchange 事件

onchange 事件经常与输入字段验证结合使用。

下面是一个如何使用 onchange 的例子。当用户改变输入字段内容时,会调用 upperCase() 函数。

示例代码:

<input type="text" id="fname" onchange="upperCase()">

完整实例:

<!DOCTYPE html>
<html>
<head>
<script>
function myFunction() {
  var x = document.getElementById("fname");
  x.value = x.value.toUpperCase();
}
</script>
</head>
<body>
请输入您的名字:<input type="text" id="fname" onchange="myFunction()">
<p>离开输入字段时,会触发一个函数,将输入文本转换为大写。</p>
</body>
</html>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

onmouseover 和 onmouseout 事件

onmouseoveronmouseout 事件可用于当用户将鼠标移至 HTML 元素上或移出时触发某个函数:

鼠标移上来!

完整实例:

<!DOCTYPE html>
<html>
<body>
<div onmouseover="mOver(this)" onmouseout="mOut(this)" 
style="background-color:#D94A38;width:120px;height:20px;padding:40px;">
请把鼠标移上来</div>
<script>
function mOver(obj) {
  obj.innerHTML = "谢谢您"
}
function mOut(obj) {
  obj.innerHTML = "请把鼠标移上来"
}
</script>
</body>
</html>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

onmousedown, onmouseup 以及 onclick 事件

onmousedown, onmouseup 以及 onclick 事件构成了完整的鼠标点击事件。

首先当鼠标按钮被点击时,onmousedown 事件被触发;然后当鼠标按钮被释放时,onmouseup 事件被触发;最后,当鼠标点击完成后,onclick 事件被触发。

点击我

完整实例:

<!DOCTYPE html>
<html>
<body>
<div onmousedown="mDown(this)" onmouseup="mUp(this)"
style="background-color:#D94A38;width:90px;height:20px;padding:40px;">
点击鼠标</div>
<script>
function mDown(obj) {
  obj.style.backgroundColor = "#1ec5e5";
  obj.innerHTML = "松开鼠标";
}
function mUp(obj) {
  obj.style.backgroundColor="#D94A38";
  obj.innerHTML="谢谢您";
}
</script>
</body>
</html>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

更多实例

完整实例【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>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.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>

运行结果:

Cookie 已启用

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.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>
可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

HTML DOM Event 对象参考手册

如需所有 HTML DOM 事件的列表,请访问我们完整的 HTML DOM 事件对象参考手册

版权所有 © 小码哥的IT人生
Copyright © phpcodeweb All Rights Reserved
ICP备案号:苏ICP备17019232号-2  

苏公网安备 32030202000762号

© 2021-2024