Jquery hover остается зависшим, когда курсор перемещается с помощью колесика мыши - PullRequest
2 голосов
/ 21 октября 2011

Я не уверен, является ли это ограничением функции jquery или ошибкой в ​​моем коде, но я вижу, что то же поведение происходит в примере на http://api.jquery.com/hover/

Моя реализация состоит в том, что у меня есть всплывающее окно, которое показывает, когда мышь наведена на элемент товара, и скрыто, когда мышь зависает.

Проблема в том, что при наведении курсора мыши появляется всплывающее окно, если прокручивать страницу вверх / вниз с помощью колесика мыши или трекпада, а курсор мыши больше не находится на элементе товара из-за прокрутки -out поведение не обнаружено, и всплывающее окно остается в поле зрения, оставаясь в середине экрана, так как его позиция определяется во время события наведения, относительно позиции продукта на экране.

Имеет ли это смысл? Кто-нибудь может помочь?

1 Ответ

1 голос
/ 21 октября 2011

Это несколько навязчивое решение, но оно должно работать:

// The normal hover handler
$("#productElement").hover(function(){
  $("#otherElement").show();
},function(){
  $("#otherElement").hide();
});

// A global scroll handler that hides an specific
// element whenever the user scrolls.
$(document).scroll(function(){
  $("#otherElement").hide();
});

В приведенном выше коде #productElement будет меткой, на которую пользователь наводит курсор, а #otherElement будет диалоговым окном.это всплывает при наведении.Это только основы того, как это будет работать;Вы бы адаптировали его к своему коду.

...