Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как отловить событие унфокус (http://www.flasher.ru/forum/showthread.php?t=208497)

grafillo! 21.07.2014 12:12

Как отловить событие унфокус
 
Есть текстовое поле нужно как-то отловить событие когда мы выделили текстовое поле и потом щёлкнули где-то в другом месте, то есть расфокусировали текстовое поле, нужно чтобы произошла проверка если в текстовом поле что-то есть кроме пробелов, тогда это слово оставалось, если нет = тогда появлялось слово - введите текст. Как это сделать?

samana 21.07.2014 12:22

Код AS3:

textField.addEventListener(Event.FOCUS_OUT, tf_focusOut)


alexandrratush 21.07.2014 12:28

При клике на текстовое поле подпишитесь на событие FocusEvent и в обработчике делайте проверку на введенные символы (в Интернете куча примеров).

grafillo! 21.07.2014 13:06

Цитата:

Сообщение от samana (Сообщение 1169356)
Код AS3:

textField.addEventListener(Event.FOCUS_OUT, tf_focusOut)


работает, только не евент а фокус евент FocusEvent
textField.addEventListener(FocusEvent.FOCUS_OUT, tf_focusOut)

а как написать регулярное выражение чтобы оно искало только пробелы в строке без текста?

caseyryan 21.07.2014 14:46

Цитата:

а как написать регулярное выражение чтобы оно искало только пробелы в строке без текста?
Код AS3:

text = text.replace(/\s+/g, ""); // заменит все уайт спейсы на пустые строки

Цитата:

унфокус
Аж слух режет такое

samana 21.07.2014 15:18

Но мне кажется надо искать не пробелы, а наличие хотя бы одной буквы или цифры.

caseyryan 21.07.2014 15:44

Цитата:

Сообщение от samana (Сообщение 1169362)
Но мне кажется надо искать не пробелы, а наличие хотя бы одной буквы или цифры.

Не, не надо. Достаточно сделать так:
Код AS3:

if (text.replace(/\s+/g, "").length > 0) {
  trace("есть какой-то символ");
}


grafillo! 21.07.2014 20:51

я сделал так:
Код AS3:

var CheckSpace:RegExp = /(^\s*$)/;
if (CheckSpace.test(chatWindows.unregLogFild.text)){
 
trace ("пустая строка");
}



Часовой пояс GMT +4, время: 16:07.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.