JQuery: удалить указатель при начальной загрузке страницы, если мышь находится над элементом - PullRequest
2 голосов
/ 02 марта 2011

У меня есть меню, которое показывает подменю при наведении курсора. Моя проблема заключается в том, что при загрузке страницы, если указатель мыши находится над каким-либо из элементов меню, возникает событие наведения мыши. Я хотел бы, чтобы при начальной загрузке страницы событие hover не срабатывало, если указатель мыши находится над одним из элементов меню; если мышь не находится над элементом меню, то обычное событие наведения мыши срабатывает, как только пользователь наводит курсор мыши на элемент меню.

Заранее спасибо за любую помощь, B

Ответы [ 3 ]

1 голос
/ 02 марта 2011

@ Идея Мёрре хороша, вот вдохновенная, использующая jQuery:

$(document).ready( function() {
    // sets a loaded class on your menu when DOM is loaded (you could also try the $(window).load event)
    $('#menu').addClass('loaded');

    // add the hover event on the links of your menu only if the menu has the loaded class
    $('#menu.loaded a').live('mouseover mouseout', function(event) {
                if (event.type == 'mouseover') {
                    // do something on mouseover
                } else {
                    // do something on mouseout
                }
            });
        });
0 голосов
/ 02 марта 2011

использовать плагин hoverIntent jquery . Вы можете отложить ответ на событие. Таким образом, когда мышь наведена, событие не сработает сразу.

0 голосов
/ 02 марта 2011

Предотвращение запуска по умолчанию для элемента наведения.

$("menuElementSelector").hover(function(e){
 e.PreventDefault();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...