我遇到了一些关于在右对齐输入字段中填充的 IE10 奇怪之处。
检查这个小提琴http://jsfiddle.net/fhWhn/
::-ms-clear, ::-ms-clear{
display: none;
}
这将删除“IE10 图标”,但如果我想保留这些并保留我的填充,我该怎么办?是否有另一种更聪明的方法来保持 onblur 之后的填充?
我遇到了一些关于在右对齐输入字段中填充的 IE10 奇怪之处。
检查这个小提琴http://jsfiddle.net/fhWhn/
::-ms-clear, ::-ms-clear{
display: none;
}
这将删除“IE10 图标”,但如果我想保留这些并保留我的填充,我该怎么办?是否有另一种更聪明的方法来保持 onblur 之后的填充?
我遇到了同样的问题。要恢复填充,只需将文本框的值设置为模糊。
我的简单解决方案:
$("input[type='text']").blur(function (evt){
var $element = $(this);
$element.val($element.val());
});
一种可能的解决方法是在输入中使用样式direction: rtl;
,这会将 移动×
到元素的左侧。但是,使用从右到左的行为可能不适合您的情况。
编辑:埃里克的解决方案对我有用,而且更好,但我把这个答案留在这里,以防某些未来版本的 IE 需要不同的修复
新的 IE,新的 IE 特定的渲染问题......
我一直在调试相同的行为。到目前为止,我发现唯一有效的是:
$this.css("padding-right", "")
,它会删除任何每个元素的值并允许计算的 CSS 值接管)。然而,这当然是不可取的,因为它涉及当用户可能正在打字时从输入中移除焦点。
我认为 JustinStolle 的回答是最好的方法。
例子:
input[type="text"].field-al-right{
text-align:right;
direction:rtl;
}
您是否尝试在您的 CSS 中添加“box-sizing”?
* {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
padding: 0;
margin: 0;
}