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

JQuery&IE-事件触发延迟

  •  2
  • markiyanm  · 技术社区  · 15 年前

    这在Firefox和Chrome中运行得非常好,当然不是IE。在IE中,图像只有在所有数据都读入文本框后才会显示,因此它基本上是因为某种原因延迟触发该事件。你知道怎么做吗?

    代码如下:

    $("*").bind('keypress', function () {
        if (event.keyCode == '037') {
            $('#<%= this.txtData.ClientID %>').focus();
            $('#processingData').fadeIn('slow', function () { });
        }
    });
    

    1 回复  |  直到 15 年前
        1
  •  2
  •   John Strickler    15 年前

    将事件处理程序绑定到页面上的每个项。与其这样做,不如使用事件委派来绑定单个事件。这应该会大大加快速度。IE使用了一个旧的JavaScript引擎,所以它的速度会比现代浏览器慢。这个 应该

    .live()将单个事件处理程序绑定到文档。此外,还需要将事件对象传递给函数。让我们知道它是如何运行的:)

    $("*").live('keypress', function (event) {
        if (event.keyCode == 37) {
            $('#<%= this.txtData.ClientID %>').focus();
            $('#processingData').fadeIn('slow');
        }
    });