代码之家  ›  专栏  ›  技术社区  ›  TheHolyTerrah

是什么导致了IE中Web表单文本框中的重复字符输入?

  •  0
  • TheHolyTerrah  · 技术社区  · 16 年前

    我们有一个相当健壮的ASP.NET应用程序,使用了相当多的Ajax、jQuery&css。

    在使用ctrl+n打开浏览器的一个新实例后,在将数据输入文本框时,如果用户想输入“foobar”,它会重复他们点击的每一个键。所以他们得到的是“ffooobaarr”。

    我们无法将其与跨越机器的一致调试环境隔离开来。但是,我们可以在特定的方框图或虚拟机上一致地复制该问题,但不能在开发人员的计算机上复制(当然!).我们有一个培训中心,每个箱子都有相同的图像,并且根据练习情况,它会持续发生。有时会发生,有时不会。非常令人沮丧。

    关于这些问题,网络上有很多关于IE6的证据,但实际上没有任何解决方案,而且我们正在使用IE7和IE8。

    关于如何调试这个的想法?或者是某个地方的答案链接?

    2 回复  |  直到 16 年前
        1
  •  1
  •   mfeingold    16 年前

    这听起来非常像双重订阅——如果您有一个Javascript在页面加载时订阅事件,那么它既可以在加载原始窗口时执行,也可以在加载新窗口时执行。

    考虑到ctrl+n不会创建新环境,而是在现有环境中创建一个新窗口,可能您的脚本实际上订阅了错误的窗口,我的意思是新的处理程序集(而不是连接到新窗口)会连接到原始窗口。如果是这种情况,事件将在orig窗口中触发两次,而在新窗口中则完全不会。

    取决于窗口的位置,它可以是特定于浏览器的,甚至可以取决于时间。

        2
  •  0
  •   TheHolyTerrah    16 年前

    结果是一个window.setTimeout();干扰了一些WCF工作。这些setTimeout()是恶魔般的,自从函数出现以来就产生了问题。