在<input>中使用readonly属性而不更改光标

Pre*_*ari 21 html javascript html5

如果我有一个<input>具有该readonly属性的字段,它仍然会出现在工字形文本光标中.有没有办法阻止光标显示?

我无法使用该disabled属性,因为request.getParameter()不适用于禁用的字段.

Oll*_*son 30

readonly元素的想法是你仍然可以阅读和复制文本,而不是编辑它们.也就是说,您可以使用CSS属性选择器更改光标.此示例将匹配input具有readonly属性的任何元素:

input[readonly] {
     cursor: pointer;
}
Run Code Online (Sandbox Code Playgroud)

  • +1关于能够选择和复制的好点! (3认同)
  • 如果它不起作用,请尝试cursor:pointer!important; 这应该是更严格的默认设置.我越熟悉twitter bootstrap越熟悉越重要.:| (3认同)
  • @AaronLoften我发现我很少用Bootstrap来使用`!important`.我只需要给我选择器比他们更高的特异性.请参阅http://css-tricks.com/specifics-on-css-specificity/和https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity :) (2认同)

tot*_*tas 14

我不想覆盖bootstrap的默认样式,所以我提出了以下解决方案:

我的文件:

input[readonly] {
    &.default-cursor {
        cursor: default;
    }
}
Run Code Online (Sandbox Code Playgroud)

或者在CSS中:

input[readonly].default-cursor {
    cursor: default;
}
Run Code Online (Sandbox Code Playgroud)

我的HTML:

<input type="text" class="form-control text-xl default-cursor" readonly>
Run Code Online (Sandbox Code Playgroud)


Buz*_*nas 8

对于根本不想显示插入符号的人:

input[readonly] {
  pointer-events: none;
}
Run Code Online (Sandbox Code Playgroud)


小智 5

在您的文本字段表单中尝试使用此标记

<input type="text" value="test" onfocus="this.blur()" readonly="readonly" />

帮助您隐藏光标的主要内容是 onfocus="this.blur()"。