jQuery hack在Opera中失败了,替代方案?

时间:2010-12-19 17:52:02

标签: javascript jquery javascript-events opera

我有一个表单,我想将其用作报表视图和表单。最初,文本输入(文本和文本区域)的样式设置为没有边框/背景。我还使用以下jQuery代码来确保它们拒绝焦点:

$('input[type="text"], textarea').focus(function() {
  $(this).blur();
});

这适用于Firefox,但它不适用于Opera(和其他webkit浏览器)。我不想使用disabled属性,因为我不能将输入设置为不显眼(在一般意义上)。我可以隐藏输入并在状态为view的位置显示span或div,然后在状态更改为form时交换visible-hidden属性,实际上我正在为选择执行此操作,单选按钮和复选框。但如果能让它按原样运行,那就不那么重要了。有什么建议吗?

编辑 - 移除webkit标签,让你Fylke。

1 个答案:

答案 0 :(得分:4)

为什么不使用the "readonly" attribute而不是“禁用”?将“readonly”设置为true不会改变字段的显示方式(意味着您可以使用CSS执行此操作),但它会阻止修改。

也就是说,当您的字段值占用的空间大于布局上分配的空间时,这种重新使用布局的方法可能会出现问题。当它们是可编辑的文本字段时,用户通常会理解他们可以滚动值,但是当字段看起来不像字段时,这变得非常奇怪。