js-показанные элементы не доступны в течение некоторого времени - PullRequest
0 голосов
/ 02 февраля 2012

У меня есть несколько кнопок в таблице (по одной кнопке для каждой строки), и я могу показать / скрыть их с помощью jQuery:

$('#some-id tr').hover(
    function() { $(this).find('.button-class').removeAttr('disabled').css(...); },
    function() { $(this).find('.button-class').attr('disabled', true).css(...); }
);

Это правильно работает для показа / скрытия. Подвох иногда показывает, что кнопки недоступны из браузера (не реагируют на левые и правые нажатия, браузеры не показывают всплывающую подсказку). Может быть активирован правой кнопкой мыши на остальной части окна браузера (не всегда).

Протестировано в Firefox и Chrome.

решено? Очень интересно. .css(...) в приведенном выше коде содержится настройка background: none/url(image.png). Кнопки не имеют текста, поэтому были невидимы с disabled="disabled" и background: none;. Я попытался просто .show()/.hide() и не могу воспроизвести проблему. Отлично, но что не так с первым изданием, кроме его избыточности?

1 Ответ

2 голосов
/ 17 ноября 2012

Убедитесь, что вы завернули свой код в функцию jQuery .ready() или какую-либо другую функцию, например $(window).load().

. Вот как это будет выглядеть с .ready():

$(function() {
     $('#some-id tr').hover(
         function() { $(this).find('.button-class').removeAttr('disabled').css(...); },
         function() { $(this).find('.button-class').attr('disabled', true).css(...); }
     );
});
...