# .mouseover()

所属分类：事件 > 鼠标事件 英文文档：.mouseover()

## .mouseover( handler(eventObject) )返回: jQuery

描述: 为 JavaScript 的 "mouseover" 事件绑定一个处理函数，或者触发元素上的该事件。（注：支持事件冒泡）

- #### 添加的版本: 1.0.mouseover( handler(eventObject) )

  - handler(eventObject)
    类型: Function()
    每次事件触发时会执行的函数。

- #### 添加的版本: 1.4.3.mouseover( [eventData ], handler(eventObject) )

  - eventData
    类型: PlainObject
    一个对象，它包含的数据键值对映射将被传递给事件处理程序。
  - handler(eventObject)
    类型: Function()
    每次事件触发时会执行的函数。

- #### 添加的版本: 1.0.mouseover()

  - 这个方法不接受任何参数。

这个方法的前两个用法是 `.bind('mouseover', handler)` 的快捷方式，第3个不带参数的用法是 `.trigger('mouseover')` 的快捷方式。

当鼠标指针进入元素内时，`mouseover`事件就会被触发，任何HTML元素都可以接受此事件。

举例来说，请看下面的HTML：

1 2 3 4 5 6 7 8 9 10 |
    <div id="outer">  Outer  <div id="inner">    Inner  </div></div><div id="other">  Trigger the handler</div><div id="log"></div>

这个事件可以绑定到任何元素:

1 2 3 |
    $('#outer').mouseover(function() {  $('#log').append('<div>Handler for .mouseover() called.</div>');});

现在当指针进入Outer `<div>`元素时，“Handler for .mousedown() called.”这个字符串将被添加到`<div id="log">`。我们也可以通过点击其它元素，手动触发另一个元素上的该事件：

1 2 3 |
    $('#other').click(function() {      $('#outer').mouseover();      });

这些代码执行后，点击Trigger the handler 同样添加这个信息。

由于此事件类型冒泡，可能导致引起的很多头痛的问题。例如，在这个例子中当鼠标指针移出Inner元素，`mouseover`事件将被发送到Inner元素，然后冒泡到Outer元素 。这可能会不合时宜的触发绑定的`mouseover`处理函数。这可以用一个替代方法，见讨论`. mouseenter ()`。

## 例子:

#### 当触发 mouseover 和 mouseenter 事件时，显示鼠标移出对象的次数。当鼠标移入绑定 mouseover 事件元素的子元素时，mouseover 事件同样会被触发。但是，只有在绑定 mouseenter 事件的元素上，将鼠标移入时，才会触发该事件。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
    <!DOCTYPE html><html><head>  <style>div.out { width:40%; height:120px; margin:0 15px;          background-color:#D6EDFC; float:left; }div.in {  width:60%; height:60%;          background-color:#FFCC00; margin:10px auto; }p { line-height:1em; margin:0; padding:0; }</style>  <script src="https://code.jquery.com/jquery-latest.js"></script></head><body> <div class="out overout">  <span>move your mouse</span>  <div class="in">  </div></div> <div class="out enterleave">  <span>move your mouse</span>  <div class="in">  </div></div> <script>  var i = 0;  $("div.overout").mouseover(function() {    i += 1;    $(this).find("span").text( "mouse over x " + i );  }).mouseout(function(){    $(this).find("span").text("mouse out ");  });   var n = 0;  $("div.enterleave").mouseenter(function() {    n += 1;    $(this).find("span").text( "mouse enter x " + n );  }).mouseleave(function() {    $(this).find("span").text("mouse leave");  }); </script> </body></html>

#### Demo: