Событие зависания jQuery прервано дочерним элементом <input>.Это можно обойти?(проблема с хромом) - PullRequest
6 голосов
/ 16 февраля 2011

Обновление: благодаря комментарию ниже, это похоже на проблему, специфичную для Chrome.

Есть ли способ обойти событие зависания, прерывающееся при наведении курсора на элемент <input> вJQuery?

Исчезает только при переходе от элемента к не дочернему элементу?

Вот jsfiddle с живым примером проблемы: http://jsfiddle.net/2h2Jt/3/

$(".hover").hover(function() {
    $(this).stop(true, true).animate({backgroundColor:'#aaaaaa'}, 500);
}, function() {
    $(this).stop(true, true).animate({backgroundColor: 'transparent'}, 500);
});

I'mвозвращаясь к CSS, но было бы здорово, если бы эта анимация работала:)

Обновление: исправлено в Mac Chrome 11.0.696.65

Но все же реальная проблема для тех, кто попал между обновлениями Chrome.

Ответы [ 2 ]

5 голосов
/ 16 февраля 2011

Это работает:

http://jsfiddle.net/2h2Jt/140/

$(".hover").mouseover(function() {
    $(this).stop().animate({
        backgroundColor: '#aaaaaa'
    }, 500);
}).mouseout(function() {
    $(this).stop().animate({
        backgroundColor: 'transparent'
    }, 500);
});

Кажется, что есть проблема с .hover () и вводом текста в Chrome (попробуйте старый код с типом ввода кнопки)

0 голосов
/ 16 февраля 2011

Вы можете решить эту проблему, используя event.stopPropagation () .

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