jQuery live () hover, странное поведение с показом / скрытием div - PullRequest
0 голосов
/ 26 ноября 2010

Я создал пример проблемы здесь:

http://jsfiddle.net/jXLSW/

Обратите внимание, что при наведении курсора на изображение в верхней части изображения отображается div.Когда вы оставляете изображение, оно уходит.Проблема в том, когда вы наводите указатель мыши на элемент сверху.Он входит в этот цикл показа / скрытия, потому что мышь входит / выходит.

Этот div, отображаемый вверху, будет содержать значки, которые действуют как панель инструментов.Как я могу держать панель инструментов видимой, когда я наводю на нее курсор?Что еще более важно, как я могу заставить событие hover остановить цикл?

ОБНОВЛЕНИЕ: Интересно то, что следующий код работает так, как нужно.Проблема в том, что часто возникают проблемы с livequery, но на самом деле это не срабатывает. Поэтому, div не отображается, что также является серьезной проблемой.

$('.has-menu').livequery(function() {
  $(this).hover(function() {$(this).find('div.img-menu').slideToggle();}, function() {$(this).find('div.img-menu').slideToggle();});
});

1 Ответ

1 голос
/ 26 ноября 2010

Ну, я изменил код так:

$('.has-menu').live('hover', function(e) {
    if (e.type == 'mouseover') {
        $(this).find('div.img-menu').slideToggle();
    }else{
        $(this).find('div.img-menu').slideToggle();  
    }
});

и теперь все хорошо.

...