2011-01-16 4 views
1

Я использую компонент combobox, и я хочу вручную отправить событие «change». Как это делается?AS3 - Dispatch Event «change» для ComboBox

// Dispatches when user changes selection 
comboType.addEventListener("change",cbListenerDialogue); 

// Does not manually dispatch 
comboType.dispatchEvent("change"); 
comboType.dispatchEvent(new Event("change")); 

ответ

5

Строковое значение, которое вы используете для отправки, должно соответствовать тому, что уже определено во Flash.

Это должно быть хитростью.

comboType.dispatchEvent(new Event(Event.CHANGE, true));

также: AS3 Textbox Change Event Not Firing

+0

Именно то, что я искал! – Abdulla

1

Просто чтобы быть ясно,

comboType.dispatchEvent(new Event(Event.CHANGE, true)); 

работает, потому что пузыриться установлен на "истинный".

Например,

comboType.addEventListener("change",cbListenerDialogue); 
comboType.dispatchEvent(new Event("change", true)); 

будет работать тоже. Важно то, что события без мыши не будут распространяться (пузырь), если не установлено значение true, поскольку Event.CHANGE и «change» - это одно и то же.