js-shown元素在一段时间内无法访问

时间:2012-02-02 16:52:15

标签: javascript jquery browser form-submit show-hide

我在表格中有几个按钮(每行一个按钮)并使用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 个答案:

答案 0 :(得分:2)

确保将代码包装在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(...); }
     );
});