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

Jquery模糊问题IE9部分工作

  •  0
  • Watercayman  · 技术社区  · 9 年前

    我的jQuery foo不适合这个。我已经搜索过了,但找不到匹配的问题,所以我觉得我做错了。

    客户端正在使用IE9(woot)。代码在FF&铬。

    我的页面定期通过ajax刷新表中的数据,然后通过jQuery更新html。表中有一个文本区域,我想知道用户何时完成文本输入,以便我可以将新数据ajax到数据库中。我正在使用模糊,并在文本区域之外的任何地方等待点击以触发ajax(无提交按钮)。除IE9外,工作正常 只有当用户点击另一个文本区域时,才会捕捉模糊 因此,如果用户完成键入并单击页面上的其他位置(而不是另一个文本区域),则在IE9中,模糊将消失。

    由于动态更新的html,我无法执行以下操作:

    $('.comments').on('blur', function () {
        doStuff();
    })
    

    我认为我需要委托模糊功能,因为文本区域会定期动态更新:

    $('#table1').on('blur', '.comments', function () {
        doStuff();
    })
    

    除了IE9,它在任何地方都有效,只有当用户点击另一个文本区域时才有效。

    我试过用

    $(document) instead of $('#table1')
    

    两者工作完全相同(尽管我理解效率有点不同)。

    有什么想法吗?我想我可以将keyUp与计时器一起使用,但当当前代码在IE9之外工作时,这似乎有点愚蠢。尝试了鼠标操作,但这显然对多个文本区域不好。。。???

    1 回复  |  直到 9 年前
        1
  •  0
  •   Watercayman    9 年前

    @桑普森是对的——我需要展示更多的信息。(我不能)

    我会在这里发帖,因为这可能会帮助将来遇到类似问题的人。

    问题是,我有一个第三方(tablesorter)正在调用另一个脚本(解析器) 第二次模糊 ,以及相当多的其他侦听器对相同的输入。他们互相踩踏,互相抵消,足以引发问题。

    大多数浏览器都没有问题,但IE9有问题。不是IE9的错,是我的错,因为我做得太草率了。

    导致我犯错的关键提示是 我的 当不在文本区域键入时,模糊会起作用。所以,如果我点击进去,然后点击出去——完美。但是,当键入然后单击时,什么都没有。这让我觉得有什么东西踩到了模糊。

    HTH某人