Просмотр полной версии : Программно привязать к кнопке событие...
Всем привет.
Без всяких слюней и смайлов перейду непосредствено к проблеме.
Есть кнопка button. Есть скрипт в первом фрейме, который копирует эту кнопку, множит ее и выстраивает в красивую прямую линию обзывая каждый клон именем "button"+i
Теперь остается посадить на каждую кнопку событие.
Например что бы при нажатие на нее Ты посылылся бы на 3... Не не буквы, фрейма вперед + то же самое i.
И все это из первого фрейма.
А вот как это сделать, я не знаю. Подскажите!
FreeLander
30.04.2004, 17:29
blockListener=new Object();
blockListener.onRelease= function(){
};
button.onRelease= blockListener.onRelease;
Спасибо. Все работает.
Ура! Ура! Ура!
sergwizard
01.05.2004, 03:14
Вы видели когда-нибудь, как слепо-глухой-немой разговаривает с глухо-немо-слепым?
Этот топик, по-моему, ярчайший пример такого общения. И что самое интересное, – они понимают друг друга.
Но складывается такое впечатление, что человек разговаривает сам с собою.
Или я неправ? :D
Главное - взаимопонимание :D:D:D
а че вы ржете,
blockListener=new Object();
blockListener.onRelease= function(){
_root.gotoAndStop(3+this._name.slice(this._name.length-1));
};
button.onRelease= blockListener.onRelease; такая конструкция будет работать именно как хотел автор
другое дело, что можно проще ..
sergwizard
02.05.2004, 02:12
Silin, то, что такая конструкция будет работать, никто не сомневается. Хотя, как ты заметил, можно и проще. Но, все же это несколько отличается от того, что написал FreeLander. Скорее, он вообще ничего конкретного не написал.
Но удоддд его понял. Удивительное взаимопонимание на уровне "ку-у" и "кю" (Киндзадза). :D
ЗЫ. Нахрен здесь нужен new Object, непонятно?
new Object, непонятно?
Все-таки с листенерами объект нужен, имхо. Другой вопрос, что обычно его инициализируют (я инициализирую) так: blockListener = {};
Тот же мембер, только в профиль :)
Все-таки с листенерами объект нужен>
кнопка и сама объект, стало быть здесь не нужен:
button.onRelease=my_onRelease;
Хы. Это конечно весело, кнопку использовать в качестве контейнера для listener'a, только как же быть со стандартами ООП всяческими? Хотя, нет, это скорее вопрос личного подхода к написанию кода.
FreeLander
04.05.2004, 13:38
ну вы блин даёте, мужики! :confused:
Меня тут не было несколько дней, а сегодня прочёл все ваши реплики и на ум пришла только одна фраза: "kick the baby"
Конечно может я чего- то туплю, но тем не менее, чел спросил как на кнопку динамически обработчик нажатия посадить - я примерно описал, чел понял.
2sergwizard
все эти выражения о слепо-глухо и т.д., объясни плз: если я чего не то ответил, то чего конкретно. Хоть убей не понятно что вызвало у тебя такую бурную реакцию :)
2silin
твой кусок кода отличается от моего тем что там на одну строку больше, или я чего-то не понимаю, но скажи почему так "проще". Помоему ты ответил детальней, а не проще.
2FreeLander: не так как я написал проще, а можно проще - лишний объект не нужен(имхо):
button.onRelease= function(){
_root.gotoAndStop(3+this._name.slice(this._name.length-1));
};
Блин, стоило мне уехать на праздники и...
Остается только поблагодарить всех собравшихся за внимание и столь живой интерес к моей теме.
Большое всем спасибо, товарищи!
FreeLander
04.05.2004, 20:57
ну ты чувак сказанул!:)
нас тут оборжать пытаются, инвалидами почему-то обзывают - а ты им "спаибо"!:)
iLoveYou
04.05.2004, 21:08
Оригинал написал(а) FreeLander
нас тут оборжать пытаются, инвалидами почему-то обзывают
:D
и еще раз :D
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.