0

我正在尝试在加载时禁用图像,以便无法单击它。下面的代码适用于 IE,但不适用于其他浏览器,如 firefox、chrome 和 safari。

jQuery('#playersTable > tbody  > tr').each(function() {
    jQuery(this).find('td').each (function() {
        jQuery(this).find('img').each(function () {
            jQuery(this).attr('disabled','disabled');
        })
    });
});
4

2 回答 2

1

disabled不是img标签上的有效属性

http://www.w3.org/wiki/HTML/Elements/img

最好的办法就是向图像父级添加一个类..然后在加载时,由于单击事件处理程序内部的检查,您不想触发点击的图像将返回 false

// add this before page loads
jQuery('#playersTable').addClass('img-disabled');

// returns false if the images parent #playersTable has the img-disabled class 
jQuery('#playersTable').on('click', 'img',function(){

      if(jQuery(this).parents('#playersTable').hasClass('img-disabled')){
          return false;
      }

      // do code stuff

      return false

});

然后在加载页面时,您可以删除img-disabled

jQuery('#playersTable').removeClass('img-disabled');

..

于 2013-10-25T16:06:43.907 回答
0

你不需要另一个标签,试试这个each()img

jQuery('#playersTable > tbody  > tr').each(function() {
    jQuery(this).find('td').each (function() {
       jQuery(this).find('img').attr('disabled','disabled');
    });
});
于 2013-10-25T15:58:15.143 回答