Странное поведение при наведении мыши на текстовую область в Chrome - PullRequest
2 голосов
/ 21 апреля 2011

У меня странная проблема, от которой я не могу обернуться.Он присутствует только в Chrome.Я использую библиотеку Prototype 1.6.

По сути, у меня есть два элемента, заключенных в элемент контейнера.Первый из двух дочерних элементов виден, второй скрыт.Внутри скрытого элемента у меня есть элемент textarea.Когда я помещаю курсор мыши на элемент контейнера, первый дочерний элемент должен скрыться, второй должен показать себя.Когда я мышью, поведение должно быть противоположным.Вы можете увидеть это здесь вместе с ошибкой:)

http://jsfiddle.net/gmM9m/2

Почему-то в Chrome, когда я нахожу курсор мыши на текстовой области, элементы начинают мигать, потому что они постоянно включаются ивыкл.Кто-нибудь знает, что вызывает такое поведение и как я могу его обойти?

Спасибо!Luka

Ответы [ 3 ]

1 голос
/ 21 апреля 2011

Самое близкое, что я получил, - это добавление события в функцию обратного вызова для mouseout и проверка того, что оно исходит от нужного элемента. Это выглядит как хакерство, но, возможно, это ошибка в Chrome. Я тоже это вижу, но wong2, похоже, этого не видит.

См. Мою ревизию, все еще небольшое заикание при первом наведении мыши.

http://jsfiddle.net/gmM9m/10/

0 голосов
/ 01 июня 2011

Я просто столкнулся с подобной проблемой и решил ее с помощью jquery "mouseenter" и "mouseleave". см http://api.jquery.com/mouseenter/

0 голосов
/ 21 апреля 2011

Это работает для меня. (Я не знаком с методом JQuery observe, поэтому вместо него я использую addEventListener JavaScript)

$('container').addEventListener("mouseover", function(event){
    $('front').hide();
    $('back').show();
    event.stopPropagation();
}, false);

$('container').addEventListener("mouseout", function(event){
    $('front').show();
    $('back').hide();
    event.stopPropagation();
}, false);

Дело в stopPropagation.Запустите его здесь: http://jsfiddle.net/RDXzR/

Почему голосование "за"?Это действительно работает для меня.Оператор не упомянул версию своего Chrome, когда я отправлю это в любом случае

...