2010-12-19 62 views
1

我有一个表格,我想用它们作为报告视图和表格。最初,文本输入(文本和文本区)的样式不具有边框/背景。我也用下面的jQuery代码,以确保他们会拒绝焦点:jQuery黑客在Opera中失败,替代?

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

这个工作在Firefox,但它在Opera没有做(也许其他WebKit浏览器)。我不想使用disabled属性,因为那样我就无法将输入设置为不显眼(一般意义上)。我可以隐藏输入并在状态为view的位置显示一个span或div,然后在状态更改为form时交换visible-hidden属性,事实上,我正在为选择,单选按钮和复选框执行此操作。但如果我能够按原样运作,那么这样做的工作量就会减少。有什么建议么?

编辑 - 删除webkit标签,谢谢你Fylke。

+1

什么是'$ this'?你的意思是'这个'? – 2010-12-19 17:56:30

+0

@Pekka - 哦,是的,除了其他人以外,这是一个错字;)。在原始代码中是正确的,我将编辑并更正,谢谢。 – 2010-12-19 18:03:48

+1

只是想指出,Opera不是一个webkit浏览器,也许这不是你所暗示的,但它确实看起来像它。 – Fylke 2010-12-19 18:07:49

回答

4

为什么不使用the "readonly" attribute而不是“disabled”?将“只读”设置为true不会改变字段的外观(这意味着您可以使用CSS来完成此操作),但它可以防止修改。

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

+1

采取了添加链接的自由。 – 2010-12-19 18:09:21

+0

+1谢谢!如果那是堆栈里的东西,你会成为一个拯救生命的人!接受后不久(测试后)) – 2010-12-19 18:10:15

+0

谢谢@TJ!我只是在寻找一个很好的简洁描述。 (除了我之外,其他人还在使用古老的blooberry.com HTML文档吗?) – Pointy 2010-12-19 18:10:30