Spec-Zone.ru › jQuery

событие mouseenter

Свяжите обработчик событий, который будет срабатывать, когда курсор мыши попадает на элемент, или вызовите этот обработчик на элементе.

Содержание:

  • .on( "mouseenter" [, eventData ], handler )
    • .on( "mouseenter" [, eventData ], handler )
  • .trigger( "mouseenter" )
    • .trigger( "mouseenter" )

.on( "mouseenter" [, eventData ], handler )Возвращает: jQuery

Описание: Связывает обработчик событий, который будет вызван при входе курсора мыши в элемент.

  • версия добавлена: 1.7.on( "mouseenter" [, eventData ], handler )

    • "mouseenter"
      Тип: строка
      Строка "mouseenter".
    • eventData
      Тип: Любое
      Объект, содержащий данные, которые будут переданы обработчику событий.
    • handler
      Тип: Функция( Событие eventObject )
      Функция, которая выполняется каждый раз при срабатывании события.

Эта страница описывает событие mouseenter. Для устаревшего метода .mouseenter(), см. .mouseenter().

Событие mouseenter JavaScript является собственностью Internet Explorer. Из-за общей полезности этого события jQuery моделирует это событие, чтобы оно могло быть использовано независимо от браузера. Это событие отправляется элементу, когда указатель мыши входит в элемент. Любой HTML-элемент может получать это событие.

Например, рассмотрим HTML:

<div id="outer">
  Outer
  <div id="inner">
    Inner
  </div>
</div>
<div id="other">
  Trigger the handler
</div>
<div id="log"></div>
Рисунок 1 — Иллюстрация рендеренного HTML

Обработчик событий можно привязать к любому элементу:

$( "#outer" ).on( "mouseenter", function() {
  $( "#log" ).append( "<div>Handler for `mouseenter` called.</div>" );
} );

Теперь, когда указатель мыши перемещается над элементом Outer <div>, сообщение добавляется в <div id="log">. Вы также можете вызвать событие при нажатии на другой элемент:

$( "#other" ).on( "click", function() {
  $( "#outer" ).trigger( "mouseenter" );
} );

После выполнения этого кода щелчки по Спустить обработчик также будут добавлять сообщение.

Событие mouseenter отличается от mouseover тем, как оно обрабатывает всплытие событий. Если mouseover использовалось в этом примере, то когда указатель мыши перемещался над элементом Inner, обработчик срабатывал бы. Это обычно нежелательное поведение. Событие mouseenter , с другой стороны, вызывает свой обработчик только тогда, когда курсор мыши попадает в элемент, к которому он привязан, а не в его потомков. Таким образом, в этом примере обработчик срабатывает при входе курсора мыши в элемент Outer, но не в элемент Inner.

Пример:

Показать текст при срабатывании событий mouseenter и mouseout. mouseover срабатывает, когда указатель перемещается в дочерний элемент, а mouseenter срабатывает только тогда, когда указатель перемещается в связанный элемент.

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>on demo</title>
  <style>
  div.out {
    width: 40%;
    height: 120px;
    margin: 0 15px;
    background-color: #d6edfc;
    float: left;
  }
  div.in {
    width: 60%;
    height: 60%;
    background-color: #fc0;
    margin: 10px auto;
  }
  p {
    line-height: 1em;
    margin: 0;
    padding: 0;
  }
  </style>
  <script src="https://code.jquery.com/jquery-3.7.0.js"></script>
</head>
<body>
 
<div class="out overout">
  <p>move your mouse</p>
  <div class="in overout"><p>move your mouse</p><p>0</p></div>
  <p>0</p>
</div>
 
<div class="out enterleave">
  <p>move your mouse</p>
  <div class="in enterleave"><p>move your mouse</p><p>0</p></div>
  <p>0</p>
</div>
 
<script>
var i = 0;
$( "div.overout" )
  .on( "mouseover", function() {
    $( "p", this ).first().text( "mouse over" );
    $( "p", this ).last().text( ++i );
  } )
  .on( "mouseout", function() {
    $( "p", this ).first().text( "mouse out" );
  } );
 
var n = 0;
$( "div.enterleave" )
  .on( "mouseenter", function() {
    $( "p", this ).first().text( "mouse enter" );
    $( "p", this ).last().text( ++n );
  } )
  .on( "mouseleave", function() {
    $( "p", this ).first().text( "mouse leave" );
  } );
</script>
 
</body>
</html>

Демо:

.trigger( "mouseenter" )Возвращает: jQuery

Описание: Вызвать событие "mouseenter" на элементе.

  • версия добавлена: 1.0.trigger( "mouseenter" )

    • "mouseenter"
      Тип: строка
      Строка "mouseenter".

См. описание для .on( "mouseenter", ... ).

© The jQuery Foundation and other contributors
Licensed under the MIT License.
https://api.jquery.com/mouseenter

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API