Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 15.07.2006, 22:37
Sepulina вне форума Посмотреть профиль Отправить личное сообщение для Sepulina Найти все сообщения от Sepulina
  № 1  
Ответить с цитированием
Sepulina

Регистрация: Jul 2006
Сообщений: 8
По умолчанию Перехват нажатия кнопки "Enter"

Добрый день!
Помогите перехватить нажатие кнопки Enter в компоненте TextArea. Отследить нажатие не представляется сложным с помощью ниже приведенного кода, но последствия нажатия все равно присутствуют в TextArea компоненте - курсор переходит на новую строку.
А мне необходимо полностью заменить нажатие Enter на выполнение моей функции.

Код:
var keyListenOnSendText = new Object();
keyListenOnSendText.keyDown = function () {
	if (Key.getCode() == Key.ENTER){
		mySomeFunctionSendText();
	}
}
sendText.addEventListener("keyDown", keyListenOnSendText);

Старый 16.07.2006, 01:29
Techmaker вне форума Посмотреть профиль Отправить личное сообщение для Techmaker Найти все сообщения от Techmaker
  № 2  
Ответить с цитированием
Techmaker
"человек"
 
Аватар для Techmaker

Регистрация: Nov 2002
Адрес: +-
Сообщений: 1,807
Код:
var keyListenOnSendText = new Object();
keyListenOnSendText.onKeyDown = function () {
	if (Key.getCode() == Key.ENTER){
		sendText.text="a"
	}
}
Key.addListener(keyListenOnSendText);
__________________
flash it

Старый 16.07.2006, 01:36
Usnul вне форума Посмотреть профиль Отправить личное сообщение для Usnul Посетить домашнюю страницу Usnul Найти все сообщения от Usnul
  № 3  
Ответить с цитированием
Usnul
 
Аватар для Usnul

Регистрация: Mar 2001
Адрес: во сне
Сообщений: 2,701
Отправить сообщение для Usnul с помощью ICQ
вопрос: какая версия AS? =)
__________________
I'm only happy when it rains.
Waka Laka

Старый 16.07.2006, 01:46
Sepulina вне форума Посмотреть профиль Отправить личное сообщение для Sepulina Найти все сообщения от Sepulina
  № 4  
Ответить с цитированием
Sepulina

Регистрация: Jul 2006
Сообщений: 8
Может я чего то не понял, но к сожалению этот пример не решает вопрос. Переход на новую строку остается. Может есть способ после обработки события нажатия Enter удалять это событие, чтобы TextArea не реагировала на него?

Старый 16.07.2006, 01:49
Sepulina вне форума Посмотреть профиль Отправить личное сообщение для Sepulina Найти все сообщения от Sepulina
  № 5  
Ответить с цитированием
Sepulina

Регистрация: Jul 2006
Сообщений: 8
Usnul: AS-2.0

Старый 16.07.2006, 01:52
Usnul вне форума Посмотреть профиль Отправить личное сообщение для Usnul Посетить домашнюю страницу Usnul Найти все сообщения от Usnul
  № 6  
Ответить с цитированием
Usnul
 
Аватар для Usnul

Регистрация: Mar 2001
Адрес: во сне
Сообщений: 2,701
Отправить сообщение для Usnul с помощью ICQ
ах, вот ты о чем. К сожалению переход на новую строчку всегда будет. Решается это путем вырезания последнего символа текстового поля при нажатии ввода, или же вырезанием символа стоящего за кареткой.
__________________
I'm only happy when it rains.
Waka Laka

Старый 16.07.2006, 01:56
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 7  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
Код:
function onEnterDown(event:Object):Void
{
	if(Key.getCode() == Key.ENTER)
	{
		trace("enterPressed");
	}
}
textArea.addEventListener("keyDown",onEnterDown);
textArea - Компонент TextArea
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

Старый 16.07.2006, 02:20
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 8  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
Ой вы уже сменили тему.
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

Старый 16.07.2006, 09:19
Sepulina вне форума Посмотреть профиль Отправить личное сообщение для Sepulina Найти все сообщения от Sepulina
  № 9  
Ответить с цитированием
Sepulina

Регистрация: Jul 2006
Сообщений: 8
Неужели нет способа прибить событие от нажатия Entera до того как оно достигнет TextArea? Только удалять последний символ? А если Enter нажат в середине текста? Ведь фильтр в компоненте как-то работает.

Старый 16.07.2006, 12:27
Techmaker вне форума Посмотреть профиль Отправить личное сообщение для Techmaker Найти все сообщения от Techmaker
  № 10  
Ответить с цитированием
Techmaker
"человек"
 
Аватар для Techmaker

Регистрация: Nov 2002
Адрес: +-
Сообщений: 1,807
Цитата:
Сообщение от Sepulina
Неужели нет способа прибить событие от нажатия Entera до того как оно достигнет TextArea?
есть
Код:
myListener=new Object();
myListener.onKeyDown = function () {
	if (Key.getCode()==Key.ENTER && String(Selection.getFocus())=="_level0.sendText.label"){
		Selection.setFocus(undefined);
		trace("ваша функция")
	}
}
Key.addListener(myListener);
если нужно поставить курсор после нажатия обратно
Код:
myListener=new Object();
myListener.onKeyDown = function () {
	if (Key.getCode()==Key.ENTER && String(Selection.getFocus())=="_level0.sendText.label"){
		Selection.setFocus(undefined);
		trace("ваша функция")
	}
myListener.onKeyUp=function(){
delete(myListener.onKeyUp);
Selection.setFocus(sendText)
};
};
Key.addListener(myListener);
__________________
flash it


Последний раз редактировалось Techmaker; 16.07.2006 в 12:33.
Создать новую тему Ответ Часовой пояс GMT +4, время: 00:24.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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