onmouseenter 事件

事件对象参考手册 事件对象

当鼠标指针移动到图像时执行 JavaScript:

<img onmouseenter="bigImg(this)" onmouseleave="normalImg(this)" border="0" src="/examples/smiley.gif" alt="Smiley" width="32" height="32">
<p>
  bigImg() 函数在用户将鼠标指针移动到该图像时触发。</p>
<p>
  normalImg() 函数在用户将鼠标指针移出图像时触发。</p>
<script>
  function bigImg(x) {
    x.style.height = "64px";
    x.style.width = "64px";
  }

  function normalImg(x) {
    x.style.height = "32px";
    x.style.width = "32px";
  }
</script>

尝试一下 »

在以下更多实例中点 "尝试一下" 查看更多演示。


定义和用法

onmouseenter 事件在鼠标指针移动到元素上时触发。

提示: 该事件通常与 onmouseleave 事件一同使用, 在鼠标指针移出元素上时触发。

提示: onmouseenter 事件类似于 onmouseover 事件。 唯一的区别是 onmouseenter 事件不支持冒泡 。


浏览器支持

表格中的数字表示支持该事件的第一个浏览器的版本号。

事件
onmouseenter 30.0 5.5 Yes 6.1 11.5

语法

HTML 中:

<element onmouseenter="myScript">
<p>该实例演示了如何向 h1 元素添加 "onmouseenter" 和 "onmouseleave" 事件。</p>
<h1 id="demo" onmouseenter="mouseEnter()" onmouseleave="mouseLeave()">鼠标移到我这</h1>
<script>
  function mouseEnter() {
    document.getElementById("demo").style.color = "red";
  }

  function mouseLeave() {
    document.getElementById("demo").style.color = "black";
  }
</script>

尝试一下 »

JavaScript 中:

object.onmouseenter = function() {
  myScript
};
<p>改实例使用了 HTML DOM 向 h1 元素添加 "onmouseenter" 和 "onmouseleave" 事件。</p>
<h1 id="demo">Mouse over me</h1>
<script>
  document.getElementById("demo").onmouseenter = function() {
    mouseEnter()
  };
  document.getElementById("demo").onmouseleave = function() {
    mouseLeave()
  };

  function mouseEnter() {
    document.getElementById("demo").style.color = "red";
  }

  function mouseLeave() {
    document.getElementById("demo").style.color = "black";
  }
</script>

尝试一下 »

JavaScript 中, 使用 addEventListener() 方法:

object.addEventListener("mouseenter", myScript);
<p>该实例使用了 addEventListener() 方法向 h1 元素添加 "mouseenter" 和 "mouseleave" 事件。</p>

<h1 id="demo">Mouse over me</h1>
<script>
  document.getElementById("demo").addEventListener("mouseenter", mouseEnter);
  document.getElementById("demo").addEventListener("mouseleave", mouseLeave);

  function mouseEnter() {
    document.getElementById("demo").style.color = "red";
  }

  function mouseLeave() {
    document.getElementById("demo").style.color = "black";
  }
</script>

尝试一下 »

注意: Internet Explorer 8 及更早 IE 版本不支持 addEventListener() 方法。


技术细节

是否支持冒泡: No
是否可以取消: No
事件类型: MouseEvent
支持的 HTML 标签: 所有 HTML 元素,除了: <base>, <bdo>, <br>, <head>, <html>, <iframe>, <meta>, <param>, <script>, <style>, 和 <title>

更多实例

该实例演示了onmousemove, onmouseenter 和 mouseover 事件的不同:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>蜜蜂教程(mifengjc.com)</title>
  <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, onmouseenter 和 onmouseover 的不同。</h3>
  <p> onmousemove 事件在鼠标移动到 div 元素上时触发。</p>
  <p> mouseenter 事件中有在鼠标指针进入 div 元素时触发。 </p>
  <p> onmouseover 事件在鼠标指针进入 div 元素时触发,在子元素上也会触发(p 和 span)。</p>
  <div onmousemove="myMoveFunction()">
    <p>onmousemove: <br> <span id="demo">鼠标移动到我这!</span></p>
  </div>
  <div onmouseenter="myEnterFunction()">
    <p>onmouseenter: <br> <span id="demo2">鼠标移动到我这!</span></p>
  </div>
  <div onmouseover="myOverFunction()">
    <p>onmouseover: <br> <span id="demo3">鼠标移动到我这!</span></p>
  </div>
  <script>
    x = 0;
    y = 0;
    z = 0;

    function myMoveFunction() {
      document.getElementById("demo").innerHTML = z += 1;
    }

    function myEnterFunction() {
      document.getElementById("demo2").innerHTML = x += 1;
    }

    function myOverFunction() {
      document.getElementById("demo3").innerHTML = y += 1;
    }
  </script>

</body>
</html>

尝试一下 »


事件对象参考手册 事件对象