Где курсор, или 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 - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.