0

キーアップで検証しているいくつかの入力があり、キーストロークごとに入力を縮小する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 ルールに重要な宣言を追加しました。ボックスサイジング コードのわずかなバグを明らかにするのは、その重要性でした。これは、境界線の幅を段階的にカウントする (または、以前の計算から削除しない) ためです。

私はできるだけ早く例を上げようとします。

4

3 に答える 3

1

おそらくjQueryはIE7の問題とは何の関係もありません。errorColorこの問題は、クラスに関連付けられた CSS が原因である可能性が高くなります。

于 2012-07-31T18:14:39.653 に答える
0

これ以上のデータがない私の最善の推測は次のとおりです。

a) クラスの削除に失敗し、要素に蓄積し続けます。

b) これは IE7 の 100% 幅の奇妙な部分です。99% または auto を試してみてください。

于 2012-07-31T19:34:21.143 に答える