Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   onKeyPress на лету менять вводимый символ (https://javascript.ru/forum/events/12192-onkeypress-na-letu-menyat-vvodimyjj-simvol.html)

Casufi 05.10.2010 13:05

onKeyPress на лету менять вводимый символ
 
Подскажите в какую сторону копать, нужно в обработчике события onKeyPress на ходу заменять вводимый символ.
Дело в том, что переменная event.charCode доступна только для чтения.

exec 05.10.2010 13:46

document.getElementById('foo').onkeypress = function () {
	if ((event = event || window.event).keyCode == 97) {
		this.value += 's'
		return false;
	}
};


В этом примере латинская 'a' будет заменяться на 's'.

Casufi 05.10.2010 14:20

Цитата:

Сообщение от exec (Сообщение 73197)
В этом примере латинская 'a' будет заменяться на 's'.

Не все так просто, попробуйте вставить "а" в средину строки.

Casufi 05.10.2010 14:33

Собственно вопрос свелся к тому, как определить положения курсора в строке

Casufi 05.10.2010 15:01

this.value  = this.value.slice(0,this.selectionStart)+'`'+this.value.slice(this.selectionStart,this.value.length);

Помогло

Casufi 05.10.2010 15:12

Итить, интернет експлорер не держит this.selectionStart


Часовой пояс GMT +3, время: 10:14.