我有一个简单的txt输入字段:
<input type="text" name="" value="http://google.com" />
如果我在输入内部单击,我想选择文本。这部分没关系:
$( 'input.highlight')。点击(函数(){
$(本).focus()选择();
返回false;
});
但是,我也想禁用编辑。如果我把假回报;到keydown事件,ctrl + c不起作用。如果我将disabled =“disabled”设置为输入,则select不起作用。
有什么想法吗?感谢。
答案 0 :(得分:14)
您想要添加 readonly 属性,而不是已禁用:
<input type="text" name="" readonly="readonly" value="http://google.com" />
答案 1 :(得分:1)
使用jQuery,您可以使用keypress()
和preventDefault()
函数
$('input').click(function(e) {
$(this).focus().select();
$(this).keypress(function(e){
e.preventDefault();
})
});
答案 2 :(得分:0)
只读用途与禁用用途有很大不同,并且其布局也有很大差异。
要从禁用的输入文本中选择甚至复制文本,可以遵循 Andy E suggestion
或者,就我而言,要有一个与输入文本关联的按钮(附加输入组)。 然后在按钮上单击:
赞:
$('#btnCopy').click(function(){
$('#txtInputDisabled').removeAttr('disabled');
$('#txtInputDisabled').select();
document.execCommand("copy");
$('#txtInputDisabled').attr('disabled','disabled');
});
完整示例jsfiddle