JQuery изображение не отключить, кроме IE

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');
        })
    });
});
  • 0
    отключен - недопустимый атрибут для тега img. w3.org/wiki/HTML/Elements/img =
Теги:

2 ответа

1
Лучший ответ

disabled не является допустимым атрибутом для тега img

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

Лучше всего просто добавить класс к родительскому изображению. тогда, когда onload, изображения, которые вы не хотите активировать, будут возвращены false из-за проверки внутри обработчика события click

// 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');

..

  • 0
    Спасибо за приятную информацию. Это действительно помогает.
0

Вам не нужен другой each() на теге img, попробуйте следующее:

jQuery('#playersTable > tbody  > tr').each(function() {
    jQuery(this).find('td').each (function() {
       jQuery(this).find('img').attr('disabled','disabled');
    });
});
  • 0
    Мой вопрос заключается в том, что код не работает в разных браузерах, таких как chorme, safari и firefox. Ваш код делает то же, что и я. Я даже попробовал ваш, но это не работает

Ещё вопросы

Сообщество Overcoder
Наверх
Меню