小码哥的IT人生

onmouseout 事件

JavaScript基础 2022-06-08 12:01:28小码哥的IT人生shichen

onmouseout 事件

实例

将鼠标指针移出图像时执行 JavaScript:

<img onmouseout="normalImg(this)" src="smiley.gif" alt="Smiley">

完整实例:

<!DOCTYPE html>
<html>
<body>
<img onmouseover="bigImg(this)" onmouseout="normalImg(this)" border="0" src="/i/photo/smile.gif" alt="Smiley" width="128" height="128">
<p>当用户将鼠标指针移动到图像上时会触发函数 bigImg()。</p>
<p>当鼠标指针移出图像时会触发函数 normalImg()。</p>
<script>
function bigImg(x) {
  x.style.height = "256px";
  x.style.width = "256px";
}
function normalImg(x) {
  x.style.height = "128px";
  x.style.width = "128px";
}
</script>
</body>
</html>

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

页面下方有更多 TIY 实例。

定义和用法

当鼠标指针移出元素或其子元素之一时,会发生 onmouseout 事件。

提示:此事件通常与 onmouseover 事件一起使用,当指针移动到元素或其子元素之一时会发生该事件。

浏览器支持

事件 Chrome IE Firefox Safari Opera
onmouseout 支持 支持 支持 支持 支持

语法

在 HTML 中:

<element onmouseout="myScript">

完整实例:

<!DOCTYPE html>
<html>
<body>
<p>本例演示如何将 "onmouseover" 和 "onmouseout" 事件分配给 h1 元素。</p>
<h1 id="demo" onmouseover="mouseOver()" onmouseout="mouseOut()">请把鼠标悬停在我上面</h1>
<script>
function mouseOver() {
  document.getElementById("demo").style.color = "red";
}
function mouseOut() {
  document.getElementById("demo").style.color = "black";
}
</script>
</body>
</html>

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

在 JavaScript 中:

object.onmouseout = function(){myScript};

完整实例:

<!DOCTYPE html>
<html>
<body>
<p>本例使用 HTML DOM 将 "onmouseover" 和 "onmouseout" 事件分配给 h1 元素。</p>
<h1 id="demo">请把鼠标悬停在我上面</h1>
<script>
document.getElementById("demo").onmouseover = function() {mouseOver()};
document.getElementById("demo").onmouseout = function() {mouseOut()};
function mouseOver() {
  document.getElementById("demo").style.color = "red";
}
function mouseOut() {
  document.getElementById("demo").style.color = "black";
}
</script>
</body>
</html>

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

在 JavaScript 中,使用 addEventListener() 方法:

object.addEventListener("mouseout", myScript);

完整实例:

<!DOCTYPE html>
<html>
<body>
<p>本例使用 addEventListener() 方法将 "mouseover" 和 "mouseout" 事件附加到 h1 元素。</p>
<h1 id="demo">请把鼠标悬停在我上面</h1>
<script>
document.getElementById("demo").addEventListener("mouseover", mouseOver);
document.getElementById("demo").addEventListener("mouseout", mouseOut);
function mouseOver() {
  document.getElementById("demo").style.color = "red";
}
function mouseOut() {
  document.getElementById("demo").style.color = "black";
}
</script>
</body>
</html>

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

注释:Internet Explorer 8 或更早的版本不支持 addEventListener() 方法

技术细节

冒泡: 支持
可取消: 支持
事件类型: MouseEvent
支持的 HTML 标签: 所有 HTML 元素,除了:<base>, <bdo>, <br>, <head>, <html>, <iframe>, <meta>, <param>, <script>, <style> 以及 <title>
DOM 版本: Level 2 Events

更多实例

示例代码:

这个例子演示了 onmousemove、onmouseleave 和 onmouseout 事件之间的区别:

<div onmousemove="myMoveFunction()">
  <p id="demo">I will demonstrate onmousemove!</p>
</div>
<div onmouseleave="myLeaveFunction()">
  <p id="demo2">I will demonstrate onmouseleave!</p>
</div>
<div onmouseout="myOutFunction()">
  <p id="demo3">I will demonstrate onmouseout!</p>
</div>

完整实例:

<!DOCTYPE html>
<html>
<head>
<style>
div {
  width: 100px;
  height: 100px;
  border: 1px solid black;
  margin: 10px;
  float: left;
  padding: 30px;
  text-align: center;
  background-color: lightgray;
}
p {
  background-color: white;
}
</style>
</head>
<body>
<h3>本例演示了 onmousemove、onmouseleave 与 onmouseout 之间的区别。</h3>
<p>每次鼠标指针移动到 div 元素上时都会发生 onmousemove 事件。</p>
<p>mouseleave 事件仅在鼠标指针移出 div 元素时发生。</p>
<p>onmouseout 事件在鼠标指针移出 div 元素时发生,且当它离开子元素(p 和 span)。</p>
<div onmousemove="myMoveFunction()">
  <p>onmousemove: <br> <span id="demo">把鼠标移过来然后再离开!</span></p>
</div>
<div onmouseleave="myLeaveFunction()">
  <p>onmouseleave: <br> <span id="demo2">把鼠标移过来然后再离开!</span></p>
</div>
<div onmouseout="myOutFunction()">
  <p>onmouseout: <br> <span id="demo3">把鼠标移过来然后再离开!</span></p>
</div>
<script>
var x = 0;
var y = 0;
var z = 0;
function myMoveFunction() {
  document.getElementById("demo").innerHTML = z+=1;
}
function myLeaveFunction() {
  document.getElementById("demo2").innerHTML = x+=1;
}
function myOutFunction() {
  document.getElementById("demo3").innerHTML = y+=1;
}
</script>
</body>
</html>

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

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

苏公网安备 32030202000762号

© 2021-2024