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

我知道您的问题大约有一周的时间,但我不确定您是否找到了解决方案或跨浏览器问题的原因。我最近正在开发一个自定义模式弹出窗口,我需要找到我的 scrollTop。相信我,我爱 jQuery 到死,我每天都在使用它,但有时你需要使用一些好的 ol' javaScript。IE 访问bodyDOM 的方式与 Chrome 或 FF 不同。

//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;
}

我为我正在进行的当前项目之一创建了一个脚本,如果你想看看它,请告诉我。

于 2012-09-25T21:17:22.843 回答