Выделите текст в поле ввода, но редактирование отключено - PullRequest
6 голосов
/ 21 марта 2011

У меня есть простое поле ввода txt:

<input type="text" name="" value="http://google.com" />

Если я нажму внутри ввода, я хочу выбрать текст.Эта часть хороша с этим:

$ ('input.highlight'). Click (function () {

$ (this) .focus (). Select ();

return false;

});

Но я также хочу отключить редактирование.Если я поставил возврат false;к событию keydown, ctrl + c не работает.Если я поставлю на вход «disabled» = «disabled», выбор не работает.

Есть идеи?Благодаря.

Ответы [ 3 ]

14 голосов
/ 21 марта 2011

Вы хотите добавить атрибут readonly вместо отключен :

<input type="text" name="" readonly="readonly" value="http://google.com" />
1 голос
/ 21 марта 2011

С jQuery вы можете использовать функции keypress() и preventDefault()

$('input').click(function(e) {
    $(this).focus().select();
    $(this).keypress(function(e){
    e.preventDefault();
    })

});

Проверьте рабочий пример на http://jsfiddle.net/hAVg9/

0 голосов
/ 03 октября 2018

Назначение только для чтения сильно отличается от отключенного, а также их расположение очень отличается.

Чтобы выбрать или даже скопировать текст из отключенного входного текста, можно выполнить предложение Энди Е

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

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

Как это:

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...