: состояние при наведении курсора не возвращается после анимации «clip» пользовательского интерфейса jQuery - IE Bug - PullRequest
3 голосов
/ 03 февраля 2012

Нашел ошибку в IE (все версии), задаваясь вопросом, есть ли обходной путь.

Это ошибка в очень простой форме с использованием jsfiddle:

http://jsfiddle.net/9frpL/6/

В Internet Explorer:

  1. Нажмите «показать»
  2. Нажмите "спрятать"
  3. Снова нажмите «показать»

Обратите внимание, что ссылка «скрыть» все еще находится в своем состоянии наведения? Иногда этого не происходит, если вы перемещаете мышь достаточно быстро во время анимации элемента.

Эта ошибка не возникает с «слепой» анимацией пользовательского интерфейса или базовым методом slideUp (), но анимация пользовательского интерфейса «клип» - это действительно то, что мне нужно для проекта, над которым я работаю.

Спасибо, что заглянули, надеюсь, вы поможете!

1 Ответ

1 голос
/ 03 февраля 2012

Редактировать : пожалуйста, проверьте ниже, еще более уродливый взлом, ДЕМО здесь

$("#hide").bind('click', function(e) {

    $("#box").hide('clip', 'fast', function () {
        $('#hide').addClass('ieHax');    
    });
    e.preventDefault();

});

$('#hide').bind ('mouseenter', function (e) {
    $('#hide').removeClass('ieHax');
});

и CSS:

a.ieHax {
    color: #000 !important;
}

Оригинальный ответ:

Один быстрый взлом, который я мог придумать, это установить цвет на #000 в .hide обратном вызове,

$("#box").hide('clip', 'fast', function () {
    $('#hide').css('color', '#000'); /* Hax for IE */
});

Пожалуйста, обратите внимание, что это неправильное решение.

...