强制文本插入符号出现在只读输入中

时间:2015-05-31 16:23:07

标签: javascript jquery javascript-events event-handling

场景:当输入字段设置为.readOnly = true时,文本光标将替换为指针箭头光标,并且无法输入或修改输入字段。但是,点击这样一个带有文本的只读输入字段确实会在文本中注册光标的位置,即使显示器没有通过可视化渲染文本光标插入符来显示点击的位置,就像启用了读取一样输入字段会。

这里有一个问题:是否有办法强制文本光标插入符出现在输入字段集.readOnly = true中,换句话说,好像输入字段实际上已启用读取,但仍然保持输入字段只读?

2 个答案:

答案 0 :(得分:1)

您想要实现的目标实际上是少数浏览器中的现有错误

检查this answer

但您可以通过以下解决方法实现此目的。

删除readOnly属性并尝试使用以下代码

 $('document').ready(function () {
        $('input[type="text"]').keydown(function (e) {
            return false;
        });

       $('input[type="text"]').bind("cut copy paste", function (e) {
        e.preventDefault();
       });

    });

Fiddle link

答案 1 :(得分:-1)

您可以使用css:

执行此操作
input[readonly] {
  cursor: text;
}

<input type="text" style="cursor: text;">