Spec-Zone.ru › jQuery

событие mouseover

Привяжите обработчик события "mouseover" к элементу или вызовите это событие на элементе.

Содержание:

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

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

Описание: Привязывает обработчик события "mouseover".

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

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

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

Событие mouseover отправляется элементу, когда указатель мыши входит в элемент. Любой 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( "mouseover", function() {
  $( "#log" ).append( "<div>Handler for `mouseover` called.</div>" );
} );

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

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

После выполнения этого кода, щелчки по элементу Trigger the handler также будут добавлять сообщение.

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

Пример:

Покажите количество раз, когда срабатывают события mouseover и mouseenter. 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">
  <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" )
  .on( "mouseover", function() {
    i += 1;
    $( this ).find( "span" ).text( "mouse over x " + i );
  } )
  .on( "mouseout", function() {
    $( this ).find( "span" ).text( "mouse out " );
  } );
 
var n = 0;
$( "div.enterleave" )
  .on( "mouseenter", function() {
    n += 1;
    $( this ).find( "span" ).text( "mouse enter x " + n );
  } )
  .on( "mouseleave", function() {
    $( this ).find( "span" ).text( "mouse leave" );
  } );
</script>
 
</body>
</html>

Демо:

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

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

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

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

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

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

Spec-Zone.ru

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