我已經遇到了一些IE10 wierdness關於在右對齊inputfield填充。IE10消除了對輸入填充右對齊
檢查這個小提琴http://jsfiddle.net/fhWhn/
::-ms-clear, ::-ms-clear{
display: none;
}
這將刪除「圖標IE10」但我該怎麼辦,如果我想保持這些,並保持我的填充? 在onblur之後還有另一種更智能的方法來保持填充嗎?
我已經遇到了一些IE10 wierdness關於在右對齊inputfield填充。IE10消除了對輸入填充右對齊
檢查這個小提琴http://jsfiddle.net/fhWhn/
::-ms-clear, ::-ms-clear{
display: none;
}
這將刪除「圖標IE10」但我該怎麼辦,如果我想保持這些,並保持我的填充? 在onblur之後還有另一種更智能的方法來保持填充嗎?
有你嘗試添加「盒大小」到你的CSS?
* {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
padding: 0;
margin: 0;
}
編輯:埃裏克的解決方案爲我,是更漂亮,但我在這裏的情況下,離開這個答案的一些未來版本的IE需要一個不同的修復
新IE,新的IE特有的渲染問題...
我一直在調試相同的行爲。我發現,到目前爲止的工作的唯一的事情是:
$this.css("padding-right", "")
,它刪除任何元素值並允許計算的CSS值接管)。然而,這當然是不期望的,因爲其涉及從輸入去除焦點,當用戶可能在打字的中間。
我跑在這個同樣的問題。要獲得填充,只需將文本框的值設置爲模糊。
我簡單的解決方案:
$("input[type='text']").blur(function (evt){
var $element = $(this);
$element.val($element.val());
});
經進一步調查中,「X」圖標似乎只出現在與寬度大於或小於60個像素等於文本框,但是在60px寬的文本框中存在不同的填充問題。幸運的是,我能夠將我的文本框寬度增加到60px,而不必去找出那個。 – Eric
請注意,這會干擾輸入的「更改」事件的發生:集中輸入,更改值並選擇另一個應用程序(即,在不失去對IE內輸入焦點的情況下對IE的焦點丟失) - 這會引起「模糊'事件,並且上面的代碼刪除了「掛起更改」的記錄;將焦點返回給IE並且失去對輸入的注意力 - 現在你已經改變了該值而沒有改變事件觸發。 –
可能的解決方法是使用樣式direction: rtl;
您的輸入,這將移動×
的元素的左側。但是,使用從右到左的行爲可能不適合您的情況。
JustinStolle的回答是最好的方法,我想。
例子:
input[type="text"].field-al-right{
text-align:right;
direction:rtl;
}
沒有沒有幫助Liccy,但由於:) –