0

このコードは、IE を除くすべてのブラウザーで機能します。サポートを追加するためにできることはありますか?

<script type="text/javascript">
$(document).ready(function() {
  var currentArrayNum = 2;
  $('#names').on({
    blur: function() {
        currentArrayNum += 1;
        var name = $("<p><input class='input' type='text' name='guests[]' value='' /></p>");

        var nullFields = 0;
        $(this).closest('div#names').find('input.input').each(function(){
            if($(this).val() == ""){
                nullFields++;
            }
        });
        console.log(nullFields);

        if(nullFields <= 1){
          $('#names').append(name.fadeIn(500));
          $('#leftbox').scrollTop($('#leftbox')[0].scrollHeight);
        }
    }
}, 'input');
 });
</script>

これは、追加の入力フィールドが追加されたことを意味するはずです。ここの「ゲストリストの名前を入力してください」の下で、動作中(FF、Chrome、Safariなど)を見ることができます。

編集

IE9 でテスト済みですが、うまくいきません。

また、Mac 上のさまざまなバージョンの IE (およびその他のブラウザー) でテストする方法があるかどうかも質問する必要がありますか?

4

2 に答える 2

6

IE の一部の (すべての?) バージョンでは、開発者 (「F12」) ツールを開いconsole.logて作業する必要があります。それ以外の場合consoleは定義されていないためconsole.log()、エラーがスローされます。

それはあなたの問題かもしれません。

于 2012-09-16T19:15:04.043 に答える
0

あなたの質問が約 1 週間前のものであることは承知していますが、解決策やクロスブラウザーの問題の理由を見つけたかどうかはわかりません。私は最近、カスタム モーダル ポップアップ ウィンドウに取り組んでいて、scrollTop を見つける必要がありました。私は jQuery が死ぬほど大好きで、毎日使っていますが、時には古き良き JavaScript を使用する必要があります。IE は、bodyChrome や FF とは異なる方法で DOM にアクセスします。

//I.E.
document.documentElement.scrollTop;

//Chrome, FF, etc.
document.body.scrollTop;

基本的に、ユーザーのブラウザーを検出するスクリプトを作成し、適切な方法で値を割り当てる条件文を含めます。

//Detect Browser
if (clientBrowser == "IE") {

    currTopPos = document.documentElement.scrollTop;
} else {

    currTopPos = document.body.scrollTop;
}

私が取り組んでいる現在のプロジェクトの 1 つのスクリプトを作成しました。見たい場合はお知らせください。

于 2012-09-25T21:17:22.843 に答える