У меня есть текстовая область, которая при загрузке страницы имеет текст по умолчанию «Список».В фокусе этот текст удален и заменен на «-».Я хотел бы, чтобы позиция каретки была после «-», это работает в chrome, opera, FF и safari, но в IE каретка изначально находится в правильном месте, но затем после небольшой паузы переходит на «-».
Вот код, который я использовал:
input.onfocus = function(){
if(this.value == 'List') {
this.value = '-';
}
}
Я также пытался использовать событие onclick
, используя такие трюки, как this.value = this.value
после вставки "-", ноничего из этого не работает.Если бы кто-нибудь мог предоставить мне решение этой проблемы, я был бы чрезвычайно благодарен.
Спасибо!
редактировать: ответ Kierans ниже решил проблему, отлично!Оператор if, добавленный в его код, перестает выдавать небольшую ошибку:
input.onclick = function(){
if(this.value == 'List') {
this.value = "-";
if (this.createTextRange) {
var range = this.createTextRange();
var caretPos = this.value.length;
range.move('character', caretPos);
range.select();
}
}
}