Internet Explorer 8:如何使只读文本输入没有光标

时间:2011-07-22 19:52:43

标签: html internet-explorer

我正在尝试模拟Firefox禁用的文本输入的外观:textarea和输入文本。

我唯一需要担心的浏览器兼容性是Internet Explorer 8.我不必担心任何事情(Intranet)

Internet Explorer不允许更改已禁用的测试输入的文本颜色。它确实允许更改背景颜色,但灰色背景颜色上的灰色文字难以辨认。

我有一个输入框和文本区域声明如下:

<input name="Count" id="Count" onfocus="this.blur()" type="text" readOnly="readonly" value="0"/>
<textarea name="Notes" id="Notes" style="width: 100%;" onfocus="this.blur()" rows="10" cols="20" readOnly="readonly"/>

我通过CSS应用了以下样式:

input[readonly], textarea[readonly] {
  color:black !important;
  background-color: threedface !important;
}

从视觉上看,这在Firefox和IE中均表现出色。但是,IE仍然允许光标进入文本区域或文本框。我错过了什么?

ADDITION

通过光标,我指的是键盘光标,例如当你在这里输入回复时。

也许我的问题更好说明,因为用户仍然可以点击文本区域并显示键盘光标。看来闪烁的光标很快消失了。

3 个答案:

答案 0 :(得分:3)

尝试将光标属性添加到css

input[readonly], textarea[readonly] {
  color:black !important;
  cursor: default;
  background-color: threedface !important;
}

http://www.w3schools.com/cssref/playit.asp?filename=playcss_cursor&preval=default

--- 12/01/27

重新审视此解决方案,我发现以下内容对我有用,希望它对您也有帮助:

答案 1 :(得分:1)

在脚本标记中使用这个简单的jQuery函数,用于所有只读输入字段。 如果您只需要特定项目,您甚至可以使用任何特定的ID或类别。

$('input[readonly]').focus(function(){
this.select();
});

答案 2 :(得分:-1)

您可以使用disabled=disabled代替readonly=readonly吗?