删除某些input上的IE10的“清除”Xbutton?
这是一个有用的function,当然,但有什么办法可以禁用它吗? 例如,如果表单是一个单独的文本字段,并且旁边已经有一个“清除”button,那么同样拥有X也是多余的。在这种情况下,最好删除它。
可以这样做,如果是这样,怎么样?
为该框设置::-ms-clear
伪元素 :
.someinput::-ms-clear { display: none; }
我发现最好将width
和height
设置为0px
。 否则,IE10将忽略在字段padding-right
上定义的padding-right
,这是为了防止文本覆盖input字段上覆盖的“X”图标。 我猜IE10是内部应用input的padding-right
的::--ms-clear
伪元素,隐藏伪元素不会恢复到input
的padding-right
值。
这对我更好:
.someinput::-ms-clear { width : 0; height: 0; }
我将这个规则应用于文本types的所有input字段,所以以后不需要重复:
input[type=text]::-ms-clear { display: none; }
正如David Cumps指出的那样,通过使用下面的方法 ,甚至可以减less具体情况:
::-ms-clear { display: none; }
在添加这个答案之前,我已经使用了更多的内容,但是认为大多数人更喜欢比这更具体。 这两个解决scheme都很好
您应该样式为::-ms-clear
( http://msdn.microsoft.com/en-us/library/windows/apps/hh465740.aspx ):
::-ms-clear { display: none; }
而且你还可以使用::-ms-reveal
伪元素作为密码字段:
::-ms-reveal { display: none; }
我认为值得注意的是,当页面以兼容模式运行时,所有基于样式和CSS的解决scheme都不起作用。 即使浏览器显示x,兼容模式渲染器也会忽略:: – ms-clear元素。
如果您的页面需要以兼容模式运行,则可能会出现X显示。
在我的情况下,我正在处理一些第三方数据绑定控件,我们的解决scheme是处理“onchange”事件,并清除后台存储,如果字段用xbutton清除。