除IE之外,Jquery图像不会禁用

时间:2013-10-25 15:56:46

标签: javascript jquery

我正在尝试在加载时禁用图像,因此无法单击它。下面的代码正在使用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');
        })
    });
});

2 个答案:

答案 0 :(得分:1)

禁用不是 img 标记的有效属性

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

最好的办法就是在图片父级中添加一个类..然后在onload上,由于点击事件处理程序中的检查,您想要没有触发点击的图像将返回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');

...

答案 1 :(得分:0)

each()标记上不需要其他img,请尝试以下操作:

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