На нашем сайте мы используем cookie для сбора информации технического характера и обрабатываем IP-адрес вашего местоположения. Продолжая использовать этот сайт, вы даете согласие на использование файлов cookies. Здесь вы можете узнать, как мы пользуемся файлами cookies.
Я согласен
логотип upread.ru

Где курсор, или mouseenter и mouseleave


Есть две такие замечательные функции в jQuery: mouseenter и mouseleave. с помощью них можно управлять событием, когда курсор заходит на элемент или выходит из него. Простейший пример

<div id="upread">
Курсор вне этого блока
</div>
<script>
$('#upread').mouseenter(function(){
$('#upread').text('Курсор внутри этого блока');
});

$('#upread').mouseleave(function(){
$('#upread').text('Курсор вне этого блока');
});
</script>
Курсор вне этого блока


Интересно, что при определенных условиях эти функции могут не совсем корректно отрабатывать - я встречался с таким. Если страница сложная, перегружена скриптами, то можно и не получить обработку события. В этом случае меня выручал такой костыль:

jQuery(function($) {
  setInterval(function() {
    if $('#upread').is(':hover') $('#upread').text('Курсор внутри этого блока');
	else $('#upread').text('Курсор вне этого блока');
  },1000);
});
Что делает данный код? Он раз в секунду вызывает функцию, проверяющую где находится курсор - наведен над элементом или нет.




Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.



тегизаметки, jQuery





Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.




Java: наибольшее число, оканчивающееся на 0
Урок 3. Числовые типы данных в C#


© upread.ru 2013-2020
При перепечатке активная ссылка на сайт обязательна.
Задать вопрос
письмо
Здравствуйте! Вы можете задать мне любой вопрос. Если не получается отправить сообщение через эту форму, то пишите на почу up777up@yandex.ru
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.