浏览器独立readonly?

时间:2011-04-01 01:45:48

标签: javascript jquery html

HTML,JavaScript或jQuery中是否有办法将输入元素设为“readonly”,即

  • 用户可以阅读
  • 用户可以将其内容复制到剪贴板
  • 用户无法更改

哪个适用于所有浏览器?我知道有一个“只读”属性,但并不是所有浏览器都支持它。

我不是在询问安全方面,只是询问用户体验。

3 个答案:

答案 0 :(得分:6)

如果你使用jQuery(当你放入标签时)它跨浏览器:

$(...your input ...).attr('readonly','readonly'); 

编辑:来自http://www.w3schools.com/tags/att_input_readonly.asp

  

支持readonly属性   所有主流浏览器。

答案 1 :(得分:2)

一种方法是伪造它:

<p class="fake_input">The readonly Value</p>
<input type="hidden" name="real_input" value="The readonly Value" />

如果您希望看起来就像一个禁用的输入框,您可以设置它的样式。

请记住,人们可以随时改变隐藏的输入。

答案 2 :(得分:1)

尽管readOnly属性在html中不区分大小写,但它必须在js中写成'readOnly'。它适用于在IE6的所有浏览器中直接分配,但您分配它的方式可以是浏览器特定的。

element.setAttribute('readOnly','readOnly')在旧版浏览器中不起作用, 但是element.readOnly ='readOnly'(或任何truthy值')适用于x-browser。