Выделите текст в поле ввода, но редактирование отключено
У меня есть простое поле ввода TXT:
<input type="text" name="" value="http://google.com" />
Если я нажму внутри ввода, я хочу выделить текст. Эта часть хорошо с этим:
$ ('Input.highlight'). Выберите (функция () {
$ (Это).focus () выберите ().
вернуть ложь;
});
Но я хочу отключить редактирование также. Если я поставил возврат false; к событию keydown, ctrl+c не работает. Если я поставлю на вход "disabled" ="disabled", выбор не работает.
Любая идея? Благодарю.
3 ответа
Вы хотите добавить атрибут readonly вместо disabled:
<input type="text" name="" readonly="readonly" value="http://google.com" />
С jQuery вы можете использовать keypress()
а также preventDefault()
функции
$('input').click(function(e) {
$(this).focus().select();
$(this).keypress(function(e){
e.preventDefault();
})
});
Проверьте рабочий пример на http://jsfiddle.net/hAVg9/
Назначение только для чтения сильно отличается от отключенного, а также их расположение очень отличается.
Чтобы выбрать или даже скопировать текст из отключенного входного текста, можно следовать предложению Andy E
Или, как в моем случае, чтобы кнопка (входная группа-присоединенная) была связана с вводимым текстом. А затем по нажатию кнопки:
- включить ввод текста
- выбрать или сосредоточиться или что вы хотите сделать
- отключить снова
Как это:
$('#btnCopy').click(function(){
$('#txtInputDisabled').removeAttr('disabled');
$('#txtInputDisabled').select();
document.execCommand("copy");
$('#txtInputDisabled').attr('disabled','disabled');
});
Полный пример нет jsfiddle