Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.02.2010, 13:18
Интересующийся
Отправить личное сообщение для Dotod Посмотреть профиль Найти все сообщения от Dotod
 
Регистрация: 30.11.2009
Сообщений: 20

Как наделить события хорошей реакцией?
Решил чередовать теорию с практикой - теперь чередую одну проблему с другой. Суть вопроса в следующем: почему событие onChange, да и вообще любое событие, срабатывает не сразу после изменения текста в поле textarea, а только после того как кликшешь вне этого поля?

Я, например, обрезаю текст при событии onChange, и хочу, чтобы пользователь сразу увидел результат обрезки при вставке текста в textarea, а не после того, как щелкнет куда-то, чтоб эти изменения вступили в силу.

Octan, в первую очередь рассчитываю на вас
Ответить с цитированием
  #2 (permalink)  
Старый 01.02.2010, 13:39
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

Просто потому что событие change — это «элемент формы потерял фокус и при этом изменил свое значение».

По поводу же события DOMControlValueChanged и подобных посмотрите тут, возможно, Вам пригодится.
Ответить с цитированием
  #3 (permalink)  
Старый 01.02.2010, 13:50
Аватар для Niar
Труъ кодер
Отправить личное сообщение для Niar Посмотреть профиль Найти все сообщения от Niar
 
Регистрация: 20.01.2010
Сообщений: 194

У octan'a уже фанаты есть
__________________
http://www.free-lance.ru/users/Nia173 Мой аккуант на free-lance.
Ответить с цитированием
  #4 (permalink)  
Старый 01.02.2010, 14:30
Интересующийся
Отправить личное сообщение для Dotod Посмотреть профиль Найти все сообщения от Dotod
 
Регистрация: 30.11.2009
Сообщений: 20

subzey,
Спасибо, буду мозговать
Ответить с цитированием
  #5 (permalink)  
Старый 02.02.2010, 20:48
Интересующийся
Отправить личное сообщение для Dotod Посмотреть профиль Найти все сообщения от Dotod
 
Регистрация: 30.11.2009
Сообщений: 20

Кому интересно, самый простой способ фиксировать изменения на уровне атрибутов, value, например - это сканировать их (в моем случае - это скан textarea). Получилась вот такая простая функция, которую можно вызывать по событию onFocus:

function scan_textarea(obj_slice) 
{
var getval = function() {return obj_slice.value;}
var oldval = getval();
intervalID = setInterval(function() 
{if (oldval!=getval()) {alert("Что-то изменилось");}
oldval=getval();
},200);
}


Не забудьте прекратить выполнение функции по событию onBlur, например (onBlur="clearInterval(intervalID)")
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как в IE динамически установить значение события onClick? Гость Элементы интерфейса 6 16.01.2011 23:46
Как вызвать событие после события определенного в onchange Наталья Events/DOM/Window 2 12.09.2009 13:51
Подскажите как сделать (события onmouseover и onclick) House M.D. Я не знаю javascript 2 04.06.2009 09:50
Обработчик события: как делает jquery? Shasoft jQuery 35 22.04.2009 09:41
Как заставить this в обработчике события указывать на объект? Dmitryk Events/DOM/Window 3 16.03.2009 08:45