Как наделить события хорошей реакцией?
Решил чередовать теорию с практикой - теперь чередую одну проблему с другой. Суть вопроса в следующем: почему событие onChange, да и вообще любое событие, срабатывает не сразу после изменения текста в поле textarea, а только после того как кликшешь вне этого поля?
Я, например, обрезаю текст при событии onChange, и хочу, чтобы пользователь сразу увидел результат обрезки при вставке текста в textarea, а не после того, как щелкнет куда-то, чтоб эти изменения вступили в силу. Octan, в первую очередь рассчитываю на вас:victory: |
Просто потому что событие change — это «элемент формы потерял фокус и при этом изменил свое значение».
По поводу же события DOMControlValueChanged и подобных посмотрите тут, возможно, Вам пригодится. |
У octan'a уже фанаты есть:D
|
subzey,
Спасибо, буду мозговать |
Кому интересно, самый простой способ фиксировать изменения на уровне атрибутов, 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)") |
| Часовой пояс GMT +3, время: 07:26. |