我有一些輸入,我對keyup進行了驗證,除了在IE7中使用每個按鍵縮小輸入外,它工作得非常好。IE7收縮輸入問題
我調試了代碼,發現它是導致效果的jquery .addClass/.removeClass。
這只是一個普通的舊輸入,沒什麼特別的。
任何想法?
$('input#myId').bind('keyup blur',function(){
var _this = $(this);
if(_this.val().match(/^[0-9()\-\+\ ]+$/i)== null){
_this.addClass('errorColor');
}else{
_this.removeClass('errorColor');
}
});
編輯:
我終於找到了答案!事實證明,這是boxsizing.htc腳本。此腳本動態地將填充,邊距和邊框轉換爲包含在元素高度和寬度內。每次輸入輸入時,都會嘗試應用觸發onupdate事件的類並刷新元素大小。在我的CSS中,我略微懶惰,並且已經將重要聲明添加到errorClass規則中,純粹是爲了確保它具有最高的可用特性。正是這種重要性揭示了盒裝代碼中的一個小錯誤,因爲它隨後逐漸計算邊框寬度(或者更簡單地說,它不會將其從先前的計算中移除)。
我會嘗試儘快得到一個例子。
您能否顯示與您要添加和刪除的類相關的css? – Jrod 2012-07-31 17:14:48
也使小提琴,所以我們可以看到這種行爲 – Huangism 2012-07-31 17:45:05
如果你在'errorColor'類中設置'height',它不會在ie7上工作。改用'padding'。 – Jashwant 2012-07-31 19:52:03