|
|
|
| Здравствуйте.
Столкнулся со следующей проблемой: нужно узнать цвет текущего выделенного текста.
queryCommandValue('ForeColor') работает хорошо, но только под IE. Я могу пробежаться по стилям текущего выделенного элемента и его родителям, но есть одна проблема - цвет шрифта может быть определен во внешнем css файле.
Если ли какая-нибудь возможность вытащить параметры стиля из известного css файла для известного класса?
Заранее спасибо. | |
|
|
|
|
|
|
|
для: Denis_Gorby
(23.04.2007 в 19:39)
| | Если я не ошибаюсь, то для JS не имеет значения как именно назначен стиль для элемента. То есть, если он подключен из внешнего файла, значение стилевого свойства все равно будет доступно.
Но это только мое предположение. Нужно провести тест:) | |
|
|
|
|
|
|
|
для: SHAman
(23.04.2007 в 19:47)
| | >Но это только мое предположение. Нужно провести тест
Я с этого начал. Увы, стиль не назначается (как минимум, в IE) | |
|
|
|
|
|
|
|
для: Denis_Gorby
(23.04.2007 в 19:39)
| | getComputedStyle()
вытащит указанное значение стиля для елемента.
___
Верней вернёт массив значений
обойдя все прописанные в css значения
и значения по умолчанию.
<style>
.someClass{color:red;font-size:14pt}
</style>
<span class="someClass" onclick="alert(getComputedStyle(this,null).color)">test</span>
|
| |
|
|
|
|
|
|
|
для: RMW
(23.04.2007 в 21:08)
| | >getComputedStyle()
>вытащит указанное значение стиля для елемента.
Спасибо, попробую. | |
|
|
|
|
|
|
|
для: RMW
(23.04.2007 в 21:08)
| | для MSIE:
alert (this.currentStyle.color)
|
| |
|
|
|
|
|
|
|
для: Denis_Gorby
(23.04.2007 в 19:39)
| | Большое спасибо всем ответившим.
В итоге остановился на таком варианте:
function GetNodeStyle(node)
{
if (typeof(node.tagName) == 'undefined') return null;
if (node.currentStyle) return node.currentStyle;
else
if (typeof(getComputedStyle) == 'function') return node.ownerDocument.defaultView.getComputedStyle(node, null);
else
return node.style;
}
|
| |
|
|
|