Я не уверен на 100%, какой вопрос я должен задать, поскольку я слишком уверен в этом, так что позвольте мне описать, что я пытаюсь сделать (используя упрощенный пример) Идем оттуда.IE VBScript HTC Behavior - Статические переменные между всеми экземплярами поведения?
У вас есть произвольные элементы HTML (IMG, A, TD, что угодно). Через CSS они назначаются HTML-поведение
.BoldSelection {
behavior: url(SelectBold.htc);
border: thin solid black;
}
Поведение просто ставит толстую рамку вокруг элементов, когда они щелкнули - НО - они должны установить ранее выбранный элемент с нормальной границей.
Так вот источник HTC. Это будет работать, если значение CurrentFocusedElementID статично между всеми экземплярами поведения. Но это не так.
<Public:Attach Event="onContentReady" onEvent="LoadInit" />
<Script Language="VBScript" type="Text/VBScript">
Sub LoadInit
element.onClick = getRef("setFocusedElement")
End Sub
Sub setFocusedElement
set ele = document.getElementByID(CurrentlyFocusedElementID)
ele.style.border = "thin solid black"
CurrentlyFocusedElementID = element.id
element.style.border = "thick solid black"
End Sub
</Script>
Я также подумал, что если я мог бы хранить произвольное свойство или атрибут в DOM объемлющего документа, то я мог бы использовать это как общее место, чтобы посмотреть на последний активный элемент ... увы, я не могу понять (например, захват значения класса тела)
Я хотел бы сохранить код, содержащийся в HTC. Мне нравится модульная мода делать это таким образом. Таким образом, я могу просто назначить поведение CSS и его выполнение - никаких обратных вызовов .. никаких родительских атрибутов. HTML-компонентов для объявления.
Как бы вы посоветовали мне это сделать?
Заранее спасибо.
код, как это, намеренно предназначен для работы только в IE, является причиной того, почему мы не смогли убить IE6 в корпоративном мире, тем не менее, несмотря на то, что это старше чем iPod. Вполне возможно писать приложения для IE, которые также не блокируют хорошие браузеры. Позор тебе! –
Ну, Джоэл, я полностью согласен с тобой. Но, как и все, есть место для этого. Я использую это для разработки приложения HTML. Корпоративным стандартом является IE - других браузеров нет. Это никогда не будет размещено на веб-сервере. Нет смысла писать это для чего-либо. ЗА ИСКЛЮЧЕНИЕМ IE. – Yesurbius
Да, но вы можете написать код для IE, который не был в VBScript, и не зависел от поведения. Затем вы придерживаетесь корпоративного стандарта, не отрывая способность вашей компании передумать. Когда MS впервые изобрела HTC поведения, они представили их W3C. Что делать, если IE9 снижает поддержку поведения, поскольку W3C отклонил их? Придерживаясь стандартов, даже в магазине только для IE, в долгосрочной перспективе сэкономит деньги вашей компании. –