Флэш: я совершенно не понимаю, прослушивание событий? - PullRequest
0 голосов
/ 15 марта 2010

Я не знаю почему, но у меня возникают проблемы с отправкой событий вокруг головы.

Возьмите это, к примеру.

someClass():Void{

    this.addEventListener("onChange",someObj);

}

Прав ли я, предполагая, что это означает, что someClass прослушивает событие onChange, и когда он его получает, он затем запускает метод onChange для someObj?

Спасибо, Кохан.

Добавление:

lo = new Object();
lo.click = function(evt){
    trace(evt.target.label + " clicked");
}
button1.addEventListener("click", lo);

Надеюсь, что отсюда я нашел на этом сайте: http://www.webwasp.co.uk/tutorials/keywords/addEventListener.php

Вы можете видеть, как я пришел к этому предположению. вот это объект, а не метод, я прав?

Ответы [ 3 ]

2 голосов
/ 15 марта 2010

Вы ошиблись:

someClass():Void {
    this.addEventListener("onChange",someObj);
}

Добавит прослушиватель событий в этот список прослушивателей onChange, который при запуске события вызовет метод someObj !

Вам необходимо передать сам метод в качестве параметра. Итак, используйте:

someClass():Void {
    this.addEventListener("onChange",someObj.someMethod);
}

* Кстати, лучше не использовать саму строку "onChange", а использовать константы (такие как Event .ENTER_FRAME), которые содержат эти строки.

0 голосов
/ 15 марта 2010

Я думаю, что вы неправильно понимаете, что такое объект, имя отражает смысл синтаксиса:

someMethod():Void {
     this.addEventListener("onChange",someOtherMethod);
}

someOtherMethod():Void {
     // something happens here when the "onChange" event is triggered
}

синтаксис: this.addEventListener ( имя события , вызываемая функция );

obj = new Object();

obj.method = function(evt) {
     // something happened
}

otherObject.addEventListener("Event Name", this.obj);

otherObject.dispatchEvent("Event Name")

Вот как работает синтаксис. Но создавать свои собственные мероприятия немного сложнее

0 голосов
/ 15 марта 2010

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

...