什麼是onmouseout事件?
onmouseout是JavaScript的DOM事件,當鼠標指針移出指定元素時觸發。它常用於實現鼠標懸停效果的恢復,比如讓按鈕在鼠標移開時恢復原樣,或者隱藏提示框。
使用方法
HTML中使用
<元素 onmouseout="執行的JavaScript代碼">
JavaScript中使用
元素.onmouseout = function() {
// 執行的JavaScript代碼
};
與相關事件的區別
|
事件
|
觸發時機
|
區別
|
|
onmouseout
|
鼠標移出元素區域(包括子元素)
|
會冒泡,鼠標移出子元素也會觸發
|
|
onmouseleave
|
鼠標完全離開元素本身(不包含子元素)
|
不冒泡,只在離開綁定元素時觸發
|
|
onmouseover
|
鼠標進入元素區域(包括子元素)
|
會冒泡
|
|
onmouseenter
|
鼠標精確進入元素本身(不包含子元素)
|
不冒泡
|
實用示例代碼
示例1:簡單圖片懸停效果
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>onmouseout示例</title>
<style>
img { transition: all 0.3s; }
</style>
</head>
<body>
<img
onmouseover="this.style.width='64px'; this.style.height='64px';"
onmouseout="this.style.width='32px'; this.style.height='32px';"
src="https://example.com/smiley.gif"
alt="笑臉"
width="32"
height="32">
<p>鼠標移入圖片會變大,移出恢復原大小~</p>
</body>
</html>
示例2:按鈕懸停效果
<button
onmouseover="this.style.backgroundColor='#0066cc'; this.style.color='white';"
onmouseout="this.style.backgroundColor=''; this.style.color='';">
懸停我看看
</button>
示例3:更實用的圖片切換效果(用函數封裝)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script>
function bigImg(x) {
x.style.width = "64px";
x.style.height = "64px";
}
function normalImg(x) {
x.style.width = "32px";
x.style.height = "32px";
}
</script>
</head>
<body>
<img
onmouseover="bigImg(this)"
onmouseout="normalImg(this)"
border="0"
src="https://example.com/smiley.gif"
alt="笑臉"
width="32"
height="32">
<p>鼠標移入笑臉會變大,移出會變小哦~</p>
</body>
</html>