|    | 
СИ-БИ техника | КВ техника | УКВ техника | Радиоизмерения | Защита от TVI | Источники питания | Софт | Расчеты | Справочники
Главная arrow Программирование arrow Java arrow Работа с поведениями Microsoft Internet Explorer  

Работа с поведениями Microsoft Internet Explorer

Оглавление
Работа с поведениями Microsoft Internet Explorer
Страница 2
Страница 3
Страница 4
Страница 5
Страница 6
Страница 5 из 6

 

Как создать новый метод поведения? Проблема

Что ж, поведения Internet Explorer действительно на высоте. Даже свойства позволяют создавать. А как насчет методов?

Решение

Для добавления нового метода нам, прежде всего, нужно будет объявить функцию, которая, собственно, и станет этим методом. Чтобы сделать ее "видимой снаружи", используется одинарный тег <public:method>. Вот его формат:

<PUBLIC:METHOD NАМЕ="<Имя метода>" [INTERNALNAME="<Внутреннее имя метода>"]/>

Единственный обязательный атрибут name задает имя метода, под которым к нему смогут получить доступ сценарии, созданные в Web-странице. Разумеется, имя метода должно совпадать с именем объявленной нами функции — реализации этого метода.

Если же имя написанной нами функции все же не совпадает с выбранным нами именем метода, мы можем воспользоваться необязательным атрибутом internalname. В качестве значения этого атрибута указывается имя функции — реализации метода — без скобок.

Пример

Давайте добавим нашему поведению два метода — enable и disable. Первый метод будет включать гиперссылку, второй — отключать.

Вот вновь исправленный файл поведения jspsIEBehaviorSimple.htc:

<PUBLIC:COMPONENT>

<PUBLIC:ATTACH EVENT="onclick" ONEVENT="elementOnClick();"/> <PUBLIC:PROPERTY NAME="enabled" GET="getIsEnabled" PUT="putIsEnabled"ID="prpEnabled"/>

<PUBLIC:METHOD NAME="enable" INTERNALNAME="elementEnable"/> <PUBLIC:METHOD NAME="disable" INTERNALNAME="elementDisable"/> <SCRIPT TYPE="text/javascript"> var isEnabled = true;

function elementOnClick() {

event.returnValue = isEnabled;

}

function getlsEnabled() {

return isEnabled.toString(); }

function putlsEnabled(propValue) {

switch (typeof(propValue)) {

case "string":

isEnabled = (propValue == "true"); break; case "number":

isEnabled = (propValue > 0) ; break; case "boolean":

isEnabled = propValue; break; case "object":

isEnabled = (propValue != null); break; default:

isEnabled = false; } prpEnabled.fireChange() ; if (isEnabled)

element.style.textDecoration = "none" else

element.style.textDecoration = "line-through"; }

function elementEnable() {

putlsEnabled("true"); }

function elementDisable() {

putlsEnabled (" false") ; } </SCRIPT> </PUBLIC:COMPONENT>


« Пред. - След. »


RLBN.ru - Электроника и компьютеры

0.1404
Hosted by uCoz