Выделите текст в поле ввода, но редактирование отключено

У меня есть простое поле ввода 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

Или, как в моем случае, чтобы кнопка (входная группа-присоединенная) была связана с вводимым текстом. А затем по нажатию кнопки:

  1. включить ввод текста
  2. выбрать или сосредоточиться или что вы хотите сделать
  3. отключить снова

Как это:

$('#btnCopy').click(function(){
    $('#txtInputDisabled').removeAttr('disabled');  
    $('#txtInputDisabled').select();
    document.execCommand("copy");
    $('#txtInputDisabled').attr('disabled','disabled');  
});

Полный пример нет jsfiddle

Другие вопросы по тегам