Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как избежать перевода строки при нажатии Enter (http://www.flasher.ru/forum/showthread.php?t=180047)

Gin 26.05.2012 11:16

Как избежать перевода строки при нажатии Enter
 
Весь вопрос в теме. Нужно, чтобы при нажатии Enter в поле ввода происходило определенное событие, но при этом не происходил перевод строки.

wvxvw 26.05.2012 12:07

event.preventDefault()?

Wolsh 26.05.2012 12:15

Код AS3:

_txt.addEventListener(TextEvent.TEXT_INPUT, inputHandler);
....
private function inputHandler(event:TextEvent):void
{
        if (event.text == "\n")
        {
                trace("ENTER");
                event.preventDefault();
        }
}


КорДум 26.05.2012 13:40

Или вариант попроще, подходящий только под определенные условия? Может стоит сделать поле однострочным?

Gin 26.05.2012 14:14

Цитата:

Сообщение от КорДум (Сообщение 1081458)
Или вариант попроще, подходящий только под определенные условия? Может стоит сделать поле однострочным?

Мне нужно именно многострочное поле.

Gin 03.06.2012 16:20

Цитата:

Сообщение от Wolsh (Сообщение 1081453)
Код AS3:

_txt.addEventListener(TextEvent.TEXT_INPUT, inputHandler);
....
private function inputHandler(event:TextEvent):void
{
        if (event.text == "\n")
        {
                trace("ENTER");
                event.preventDefault();
        }
}


Эта фишка работает только с Classic Text. Как сделать чтобы работала также с TLF Text?

in4core 03.06.2012 16:34

Ну сделай другую фишку.

Код AS3:

stage.addEventListener(KeyboardEvent.KEY_DOWN, inputHandler);
 
private function inputHandler(event:KeyboardEvent):void
{
        if (e.keyCode == Keyboard.ENTER)
        {
                trace("ENTER");
                if(проверка что последние 2 символа это \n) _txt.text = _txt.text.slice(0, _txt.text.lenght - 2) // или 3 , не помню
        }
}


Gin 20.06.2012 23:05

Цитата:

Сообщение от in4core (Сообщение 1082689)
Ну сделай другую фишку.

Код AS3:

stage.addEventListener(KeyboardEvent.KEY_DOWN, inputHandler);
 
private function inputHandler(event:KeyboardEvent):void
{
        if (e.keyCode == Keyboard.ENTER)
        {
                trace("ENTER");
                if(проверка что последние 2 символа это \n) _txt.text = _txt.text.slice(0, _txt.text.lenght - 2) // или 3 , не помню
        }
}


Не понимаю, зачем мне проверка что последние два символа это /n? Нужно, чтобы событие нажатие клавиши игнорировалось.

Wolsh 20.06.2012 23:40

Ваш вопрос:
Цитата:

Нужно, чтобы при нажатии Enter в поле ввода происходило определенное событие, но при этом не происходил перевод строки.

Gin 21.06.2012 00:06

Цитата:

Сообщение от Wolsh (Сообщение 1085361)
Ваш вопрос:

Да, я понял, сорри за глупые вопросы. Сейчас столкнулся с другой проблемой.
Код AS3:

import flash.events.KeyboardEvent;
import flash.ui.Keyboard;
 
stage.addEventListener(KeyboardEvent.KEY_DOWN, onKDown);
function onKDown(e:KeyboardEvent):void
{
        if (e.keyCode == 13)
        {
                trace("ENTER");
        }
}

Если фокус на текстовом поле tlf и вводится с клавиатуры ентер, слово Enter не выводится! Галка Disabled Keyboards shortcuts стоит.


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

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