选择输入字段中的文本,但编辑被禁用

发布于 2024-10-25 03:39:26 字数 375 浏览 1 评论 0原文

我有一个简单的 txt 输入字段:

如果我点击输入内部,我想要选择文本。这部分很好:

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

$(this).focus().select();

返回错误;

});

但是,我也想禁用编辑。如果我返回 false;对于 keydown 事件,ctrl+c 不起作用。如果我将disabled =“disabled”添加到输入中,则选择不起作用。

有什么想法吗?谢谢。

I have a simple txt input field:

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

If i click inside the input, i want to select the text. This part is fine with this:

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

$(this).focus().select();

return false;

});

But, i want to disable the editing also. If i put a return false; to the keydown event, the ctrl+c is not working. If i put disabled="disabled" to the input, the select is not working.

Any idea? Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

逆夏时光 2024-11-01 03:39:26

您想要添加 readonly 属性而不是 disabled

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

You want to add the readonly attribute instead of disabled:

<input type="text" name="" readonly="readonly" value="http://google.com" />
爱给你人给你 2024-11-01 03:39:26

通过 jQuery,您可以使用 keypress()preventDefault() 函数,

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

});

请在 http://jsfiddle.net/hAVg9/

With jQuery you can use the keypress() and preventDefault() functions

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

});

Check working example at http://jsfiddle.net/hAVg9/

欲拥i 2024-11-01 03:39:26

只读目的与禁用目的非常不同,而且它们的布局也非常不同。

要从禁用的输入文本中选择甚至复制文本,可以按照
Andy E 建议

或者,就我而言,有一个与输入文本关联的按钮(附加输入组)。
然后单击按钮:

  1. 启用输入文本
  2. 选择或焦点或您想要执行的任何操作
  3. 再次禁用

像这样:

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

完整示例 no jsfiddle

Readonly purpose is very different than disabled, and also theirs layout is very different.

To select or even copy text from an disabled input text, one can follow
Andy E suggestion

Or, as my case, to have a button (input-group-appended) associated to the input text.
And then on button click:

  1. enable input text
  2. select or focus or what ever you want to do
  3. disable again

Like this:

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

Complete example no jsfiddle

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文