Как наделить события хорошей реакцией?
Решил чередовать теорию с практикой - теперь чередую одну проблему с другой. Суть вопроса в следующем: почему событие 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, время: 14:15. |