我目前正在尝试查看是否有办法不禁用输入但不允许输入获得焦点。我这样做是因为我仍然需要后端来检索数据但只是不允许用户在某些时候编辑输入字段。由于禁用不会将数据返回到不起作用的后端。 我目前正在这样做的方式是,当用户按下提交时我删除了禁用的属性,但这使得它们在下一页加载之前几秒钟显示正常。任何建议都会很棒(我的下一步是添加
background-color: #F2F2F2 !important;
color: #C6C6C6;
border-color: #ddd;
但是,由于每个浏览器都采用不同的方式,我宁愿选择不这样做的解决方案。
答案 0 :(得分:2)
禁用输入并添加另一个输入类型=隐藏同名
答案 1 :(得分:1)
只是截取onfocus
事件并发送blur()
事件,这样,如果有人关注它,输入会立即失去焦点。
document.getElementById('input').onfocus = function() { this.blur(); }
以下是一个例子
http://jsfiddle.net/HkbTH/
答案 2 :(得分:1)
考虑使用readonly
,这正是针对这类事情的。
<input type="text" name="foo" readonly>
<input type="text" name="foo" readonly="readonly"/> <!-- XHTML syntax -->
document.getElementsByName('foo')[0].readonly= true;
readonly
字段可以被聚焦,因此用户仍然可以例如。选择并复制文本。但它无法编辑,渲染可能看起来半禁用。