![]() |
Событие для всех экземляров кнопки
Есть экземляр кнопки, который использую раз 50. Т.е. кнопку переношу из библиотеки, а текст поверх неё пишу отдельно.
Нужно для каждого экземляра событие onRollOver & onRollOut одно и тоже. Как мне это написать. Вот такие события - чтоб работали для каждого экземпляра: onRollOver=function () { fun(this._name) } onRollOut=function () { fun() } Сейчас у меня для каждой кнопки отдельно написано, но должно же быть что-то поуниверсальнее. Пытался сделать on (rollover) внутри кнопки ничо не получается. |
for (var i=1; i<50; i++){
eval("btn"+i).onRollOver=function () { fun("btn"+i); } eval("btn"+i).onRollOut=function () { fun(); } } |
онролловер внутри кнопки тоже выход. руки настрой.
но лучше так: Button.prototype.onRollover = function(){ if(this._name == "blah-blah") // проверка, что это та кнопка. doMyFunc(this._name) } Button.prototype.onRollout = function(){ if(this._name == "blah-blah") // проверка, что это та кнопка. doMyOtherFunc() } |
KidsKilla, вариант this._name == "blah-blah" тут не проканает т.к. все кнопки имеют разные имена
|
кроме того, нафига переаисывать все кнопки - вдруг у него там кроме 50-ти таких кнопок еще 1000 других :~)
|
KidsKilla спасибо - это самое то. К томуже научился события заменять для прототипов.
Это нужно абсолютно для всех кнопок, даже ненадо имена проверять. У мну при наведении на любоую кнопку ( и на поля текстовые ) появляется Quick Help в зависимости от имени кнопки. |
Цитата:
можно ещё через 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
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.