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 に答える