在IE7按钮上的黑色边框在textarea /输入焦点

时间:2011-12-22 10:28:09

标签: button focus border internet-explorer-7

我遇到了一个奇怪的IE7问题..

我有一些标准的CSS样式按钮,背景图片和1px蓝色边框。除了IE7之外,它们的工作原理如此。

如果我在表单元素(textarea / input-field)中单击它会自动在我的按钮上添加黑色边框。有时它也会在元素处于焦点/活动状态的其他情况下发生..

你可以在这里看到一个简单的例子

enter image description here

问题是由于样式原因我需要按钮上的边框,所以有没有办法在IE7中禁用此行为而不删除原始边框 - 使用CSS还是jQuery?

4 个答案:

答案 0 :(得分:8)

我在这里写了一篇关于这个问题的博客:http://markmintoff.com/2012/01/remove-internet-explorer-black-border-around-button/

基本上,您可以使用以下样式简单有效地删除有问题的边框。

    input[type=submit],
    input[type=reset],
    input[type=button]
    {
        filter:chroma(color=#000000);
        color:#010101;
    }

答案 1 :(得分:3)

IE正在突出表格"默认"按钮,如果您在其中一个表单输入中按Enter键将触发该按钮。要禁用突出显示,您有几个选项:

  1. 制作保存按钮type="button"而不是type="submit",并通过在javascript中处理按钮的点击事件来处理表单提交。这是this related question的答案(尽管ASP.NET正在处理幕后的javascript部分)。
  2. 添加第二个 type="submit"按钮作为表单中的第一个输入,然后使用CSS隐藏它。请注意,display:none;不会删除它,您需要通过将其放在屏幕上来隐藏它,例如:position: absolute; top: 0; left: -9999px;。这是this related question的答案。

答案 2 :(得分:1)

jquery:$('input[type="submit"]').focus().blur();

答案 3 :(得分:0)

的javascript:

document.getElementById('save').focus();
document.getElementById('save').blur();