Spec-Zone.ru › Web APIs

SVGStyleElement: свойство disabled

Свойство SVGStyleElement.disabled можно использовать для получения и установки значения, указывающего, отключён ли стилевой лист (true) или нет (false).

Обратите внимание, что соответствующего атрибута disabled у элемента SVG <style> нет.

Значение

Возвращает true , если стилевой лист отключён или связанного стилевого листа нет; в противном случае false. Значение по умолчанию false (если связан стилевой лист).

Свойство можно использовать для включения или отключения связанного стилевого листа. Установка свойства в значение true, когда нет связанного стилевого листа, не имеет эффекта.

Примеры

Отключение стиля, определённого в SVG

Этот пример демонстрирует программное задание свойства disabled для стиля, определённого в HTML определении SVG.

HTML

HTML содержит определение SVG для элемента <circle> с элементом <style>, а также кнопку, которая будет использоваться для отключения стиля.

<button>Enable</button>
<svg
  xmlns="http://www.w3.org/2000/svg"
  xmlns:xlink="http://www.w3.org/1999/xlink">
  <style id="circle_style_id">
    circle {
      fill: gold;
      stroke: green;
      stroke-width: 3px;
    }
  </style>
  <circle cx="50" cy="50" r="25" />
</svg>

JavaScript

Код ниже получает элемент style (элемент SVGStyleElement) по его id и затем устанавливает его как отключённый. Стиль уже существует, так как он определён в SVG, поэтому это должно сработать.

const svg = document.querySelector("svg");
const style = svg.getElementById("circle_style_id");
style.disabled = true;

Затем мы добавляем обработчик событий для кнопки, который переключает состояние disabled и текст кнопки.

const button = document.querySelector("button");

button.addEventListener("click", () => {
  style.disabled = !style.disabled;
  button.textContent = style.disabled ? "Enable" : "Disable";
});

Результат

Результат показан ниже. Нажмите кнопку, чтобы переключить свойство disabled для стиля, используемого для круга.

Отключение программно определённого стиля

Этот пример очень похож на предыдущий, за исключением того, что стиль определён программно.

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

HTML

HTML похож на предыдущий случай, но определение SVG не включает никаких стилей по умолчанию.

<button>Enable</button>
<svg
  xmlns="http://www.w3.org/2000/svg"
  xmlns:xlink="http://www.w3.org/1999/xlink">
  <circle cx="50" cy="50" r="25" />
</svg>

JavaScript

Сначала мы создаём новый узел стиля SVG. Это делается путём создания элемента стиля в пространстве имён SVG с помощью Document.createElementNS(), создания и добавления текстового узла со значением стиля, а затем добавления узла в SVG, определённое выше.

Примечание: Вы должны использовать Document.createElementNS(), а не Document.createElement(), чтобы создать стиль, иначе по умолчанию вы создадите эквивалентный элемент HTML-стиля.

const svg = document.querySelector("svg");

// Create the `style` element in the SVG namespace
const style = document.createElementNS("http://www.w3.org/2000/svg", "style");
const node = document.createTextNode("circle { fill: red; }");
svg.appendChild(style);
style.appendChild(node);

Затем мы отключаем стиль. Обратите внимание, что это самая ранняя точка, в которой установка свойства в true будет успешной. До этого момента SVG не имело связанного стиля, поэтому значение по умолчанию false.

//Disable the style
style.disabled = true;

Наконец, мы добавляем обработчик событий для кнопки, который переключает состояние disabled и текст кнопки (это тот же обработчик, что и в предыдущем примере).

const button = document.querySelector("button");

button.addEventListener("click", () => {
  style.disabled = !style.disabled;
  button.textContent = style.disabled ? "Enable" : "Disable";
});

Результат

Результат показан ниже. Нажмите кнопку, чтобы переключить состояние disabled для стиля, используемого для круга.

Спецификации

Спецификация
Scalable Vector Graphics (SVG) 2
# __svg__SVGStyleElement__disabled

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на IOS Samsung Internet WebView Android
disabled 45 79 104 32 6 45 104 32 6 5.0 45

См. также

  • HTMLStyleElement.disabled

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/SVGStyleElement/disabled

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API