отключить работает во всех браузерах, кроме IE

#javascript #jquery #html #internet-explorer #riot.js

#javascript #jquery #HTML #internet-explorer #riot.js

Вопрос:

При определенном условии кнопка должна быть отключена, если это условие истинно и кнопка отключена, стиль, который должен быть применен, является таким в каждом браузере, включая IE, при наведении курсора мыши появляется запрещающий знак, но в IE щелчок по-прежнему регистрируется и выполняется. Я мог бы использовать условие, связанное с событием, поэтому, если условие отключения истинно, то код не выполняется, это работает, но не разрешено из-за архитектурных правил. Свойство disable установлено, но все равно onclick срабатывает.

Я не думаю, что мой код будет иметь какое-либо значение, потому что мое описание проблемы является глобальной проблемой для каждой кнопки в приложении, поэтому должно быть конкретное решение IE, которое может быть применено к пользовательскому элементу управления button для установки свойства, но IE говорит, что свойство отключено = true.

Комментарии:

1. Пожалуйста. Вам нужно показать код. Отключенный означает разные вещи для разных людей. Воссоздайте аналогичную проблему в jsfiddle или jsbin и вернитесь.

2. <mdt-button> <style scoped> :scope[disabled], :scope button[disabled] { } </style> <button type="{ type }" disabled="{disabled:disabled}"</button> <script> this.on('update', function() { this.faceIcon = this.opts['face-icon']; this.disabled = this.opts.__disabled; this.type = this.opts.type ? this.opts.type: 'button'; }); </script> </mdt-button> поскольку для описания элемента управления требуется так много кода, я сузил его

3. riotjs.com/faq/#why-ie8-is-not-supported Вы говорите о IE8? Потому что похоже, что выбранный вами фреймворк говорит «нет».

4. IE11, но веб-сайт также должен поддерживать версии 9 и 10 из-за HTML5

5. Это, кстати, Riot.js код это не то, что вы могли бы назвать «HTML5». Например, нет элемента HTML с именем «mdt-button». Я должен извиниться и сказать, что я ухожу. Вы написали riot.js и я не понимал, что это был полноценный фреймворк, подобный React. Все равно выглядит довольно хорошо riotjs.com/api

Ответ №1:

До сих пор у меня было много проблем с IE, и, похоже, они не закончатся в ближайшее время. 🙂

Отключено — это свойство, с которым мне всегда приходится много играть, чтобы заставить его работать так, как я хочу.

Поскольку вы не предоставили никакого кода, просто попробуйте отключить следующее:

 $("#yourid").attr("disabled", "disabled");
  

или

 $("#yourid").attr("disabled", true);
  

И это для включения:

 $("#yourid").attr("disabled", false);
  

или

 $("#yourid").removeAttr("disabled");
  

Комментарии:

1. onclick все еще выполняется

Ответ №2:

Просто предположение, поскольку я не знаком с Riot.js но код, который у вас там есть, искажен. тег кнопки не был закрыт. Браузеры обрабатывают искаженный код по-разному, поэтому вы должны это проверить.

 <mdt-button>
  <style scoped>
    :scope[disabled],
    :scope button[disabled] {}
  </style>
  <button type="{ type }" disabled="{disabled:disabled}"> </button>
  <script>
    this.on('update', function() {
      this.faceIcon = this.opts['face-icon'];
      this.disabled = this.opts.__disabled;
      this.type = this.opts.type ? this.opts.type : 'button';
    });
  </script>
</mdt-button>
  

Комментарии:

1. тег кнопки закрыт, есть </button> Я должен ограничить код в комментариях, потому что разрешено ограниченное количество символов

2. Пожалуйста, отредактируйте свой вопрос и добавьте код. Это то, что вы вставили, оно искажено, пожалуйста, подтвердите, что в реальном коде это не так; после атрибутов отсутствует ‘>’. <тип кнопки=»{тип }» отключено=»{отключено: отключено}»</button>

3. насколько я вижу, у них отсутствуют какие-либо закрывающие теги <mdt-button> <style scoped> </style> <button type="{ type }" disabled="{disabled:disabled}" name="{ name }" clickEvent="{ clickEvent }">{ label }</button> <mdt-icon class="icon" if="{faceIcon}" face="{faceIcon}"/> <script> </script> </mdt-button>

4. В приложении по умолчанию есть кнопка отключения. Работает ли это с IE11. Также его синтаксис для отключенной кнопки выглядит следующим образом: <кнопка отключена={ !text }> Так что просто логическое значение в фигурных скобках. riotjs.com/examples/plunker/?app=todo-app