PDA

Просмотр полной версии : Событие по нажатию на клавишу Enter


dr1emaver
11.09.2011, 20:15
Здравствуйте, возник вопрос. Есть текстовое поле поиска, в него мы вводим информацию и нужно сделать так, чтобы по нажатию на клавишу Enter начинала выполняться функция.
Я так понимаю надо сделать так :
Повесить событие на текстовое поле, по нажатию на клавиатуру вызывать функцию keyDownHandler и в нем делать проверку на нажатие клавиши enter, после чего вызывать нужную функцию

text.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);

private function keyDownHandler(event:KeyboardEvent):void {
if ( event.keyCode == event.enter); // правильна ли проверка ?

//вызов функции
}

GBee
11.09.2011, 20:19
Keyboard.ENTER вместо event.enter - откуда вы его вообще взяли?

gloomyBrain
11.09.2011, 20:21
Вместо event.enter поставьте 13

goodguy
11.09.2011, 20:52
И лучше делать это по KeyboardEvent.KEY_UP, иначе при зажатии клавиши функция будет выполняться многократно, пока она зажата

GrafMine
11.09.2011, 21:02
private var inputArray:Array;
private function init():void {
//keys
inputArray = new Array();
for(var i:uint =0;i < 256; i++) {
inputArray.push(false);
}
//stages
stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp);
stage.addEventListener(Event.ENTER_FRAME, enter_frame);
}
private function onKeyDown(e:KeyboardEvent) : void {
inputArray[e.keyCode] = true;
}
private function onKeyUp(e:KeyboardEvent) : void {
inputArray[e.keyCode] = false;
}
private function enter_frame(e:Event):void{
if (inputArray[13]) {// 13- Enter
trace('нажато ввод');
}
}