ComboBox.enter

Availability

Flash Player 6 (6.0.79.0).

Edition

Flash MX 2004.

Usage

var listenerObject:Object = new Object();
listenerObject.enter = function(eventObject:Object) {
    // Your code here.
};
comboBoxInstance.addEventListener("enter", listenerObject)

Description

Event; broadcast to all registered listeners when the user presses the Enter key in the text box. This event is a TextInput event that is broadcast only from editable combo boxes. For more information, see TextInput.enter.

Using a dispatcher/listener event model, a component instance (comboBoxInstance) dispatches an event (in this case, enter) and the event is handled by a function, also called a handler, on a listener object (listenerObject) that you create. You define a method with the same name as the event on the listener object; the method is called when the event is triggered. When the event is triggered, it automatically passes an event object (eventObject) to the listener object method. Each event object has properties that contain information about the event. You can use these properties to write code that handles the event. Finally, you call the addEventListener() method on the component instance that broadcasts the event to register the listener with the instance. When the instance dispatches the event, the listener is called.

For more information, see EventDispatcher class.

Example

With a ComboBox component instance my_cb on the Stage, the following ActionScript creates a combo box list and two listeners. The first listener handles clicking the "Add new item" label to make the combo box field editable. The second listener handles the user pressing the Enter key to add their entry to the combo box list:

// Add items to the combo box list.
my_cb.addItem({data:1, label:"First Item"});
my_cb.addItem({data:2, label:"Second Item"});
my_cb.addItem({data:-1, label:"Add new item..."});

// Respond to the user clicking "Add new item".
function changeListener(evt_obj:Object) {
 if (evt_obj.target.selectedItem.data == -1) {
  evt_obj.target.editable = true;
 } else if (evt_obj.target.selectedIndex != undefined) {
  evt_obj.target.editable = false;
  evt_obj.target.setFocus();
 }
}
my_cb.addEventListener("change", changeListener);

// Respond to the user pressing the Enter key after adding a new item name.
function enterListener(evt_obj:Object) {
 if (evt_obj.target.value != '') {
  evt_obj.target.addItem({data:'', label:evt_obj.target.value});
 }
 evt_obj.target.editable = false;
 evt_obj.target.selectedIndex = evt_obj.target.dataProvider.length-1;
 evt_obj.target.setFocus();
}
my_cb.addEventListener("enter", enterListener);

See also

EventDispatcher.addEventListener()