Просмотр полной версии : Нажать на кнопку или клавишу Enter, для выполнения функции.
slavnovik
03.09.2013, 00:02
Привет, столкнулся с проблемой. Мне надо, чтобы функция
public function imfun(e:MouseEvent):void
{
if(Im.bar_mc.text_txt.text == "")
{
trace("Нельзя отправить пустое сообщение")
Im.opt.text = "Нельзя отправить пустое сообщение";
}
else {
Im.log_mc.log_txt.appendText (Ls.nick_txt.text + ": " + Im.bar_mc.text_txt.text + "\n" )
Im.bar_mc.text_txt.text = ""
Im.opt.text = "";
}
Работала и при нажатии кнопки и при нажатии клавиши Enter, подскажите, пожалуйста, как так сделать?
stage.addEventListener(KeyboardEvent.KEY_DOWN , onKey)
function onKey(e:KeyboardEvent):void
{ if(e.keyCode == Keyboard.ENTER) imfun(null);
}
slavnovik
03.09.2013, 00:18
stage.addEventListener(KeyboardEvent.KEY_DOWN , onKey)
function onKey(e:KeyboardEvent):void
{ if(e.keyCode == Keyboard.ENTER) imfun(null);
}
Обращение несущ. св. Keyboard
caseyryan
03.09.2013, 07:49
stage.addEventListener(KeyboardEvent.KEY_DOWN , onKey)
function onKey(e:KeyboardEvent):void
{ if(e.keyCode == Keyboard.ENTER) imfun(null);
}
По KEY_UP такие вещи надо делать
import flash.events.KeyboardEvent;
import flash.ui.Keyboard;
// добавляем слушатель клавиатуры, когда доступна сцена
stage.addEventListener(KeyboardEvent.KEY_UP, imfun);
public function imfun(e:*):void { // убрал тип события, чтобы все поместить в один метод, хотя можно и как сказал in4core
if (e.type == KeyboardEvent.KEY_UP) {
var keyboardEvent:KeyboardEvent = e as KeyboardEvent;
if (keyboardEvent.keyCode != Keyboard.ENTER) return; // отрубаем выполнение, если клавиша не энтер
}
if(Im.bar_mc.text_txt.text.replace(/\s/g, "") == "") { // тут регулярным выражением сносим все пробелы, и проверяем. Иначе можно будет отправить сообщение состоящее, например, из пробела
trace("Нельзя отправить пустое сообщение")
Im.opt.text = "Нельзя отправить пустое сообщение";
} else {
Im.log_mc.log_txt.appendText (Ls.nick_txt.text + ": " + Im.bar_mc.text_txt.text + "\n" )
Im.bar_mc.text_txt.text = ""
Im.opt.text = "";
}
slavnovik
03.09.2013, 09:17
if(Im.bar_mc.text_txt.text.replace(/\s/g, "") == "" Я думал такое невозможно, ОГРОМНОЕ спасибо!
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.