Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Событие для всех экземляров кнопки (http://www.flasher.ru/forum/showthread.php?t=71119)

processor 28.10.2005 20:31

Событие для всех экземляров кнопки
 
Есть экземляр кнопки, который использую раз 50. Т.е. кнопку переношу из библиотеки, а текст поверх неё пишу отдельно.

Нужно для каждого экземляра событие onRollOver & onRollOut одно и тоже.
Как мне это написать.

Вот такие события - чтоб работали для каждого экземпляра:

onRollOver=function () { fun(this._name) }
onRollOut=function () { fun() }

Сейчас у меня для каждой кнопки отдельно написано, но должно же быть что-то поуниверсальнее. Пытался сделать on (rollover) внутри кнопки ничо не получается.

artcraft 28.10.2005 21:00

for (var i=1; i<50; i++){
eval("btn"+i).onRollOver=function () { fun("btn"+i); }
eval("btn"+i).onRollOut=function () { fun(); }
}

KidsKilla 28.10.2005 21:05

онролловер внутри кнопки тоже выход. руки настрой.
но лучше так:
Button.prototype.onRollover = function(){
if(this._name == "blah-blah") // проверка, что это та кнопка.
doMyFunc(this._name)
}
Button.prototype.onRollout = function(){
if(this._name == "blah-blah") // проверка, что это та кнопка.
doMyOtherFunc()
}

artcraft 28.10.2005 21:12

KidsKilla, вариант this._name == "blah-blah" тут не проканает т.к. все кнопки имеют разные имена

artcraft 28.10.2005 21:15

кроме того, нафига переаисывать все кнопки - вдруг у него там кроме 50-ти таких кнопок еще 1000 других :~)

processor 29.10.2005 16:13

KidsKilla спасибо - это самое то. К томуже научился события заменять для прототипов.

Это нужно абсолютно для всех кнопок, даже ненадо имена проверять. У мну при наведении на любоую кнопку ( и на поля текстовые ) появляется Quick Help в зависимости от имени кнопки.

KidsKilla 29.10.2005 16:21

Цитата:

Сообщение от artcraft
кроме того, нафига переаисывать все кнопки - вдруг у него там кроме 50-ти таких кнопок еще 1000 других :~)

=Р =)))))
можно ещё через ASBroadcaster + Button + Button.addListener(obj)


Часовой пояс GMT +4, время: 23:24.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.