我有两个文本框,都有通过jQuery处理的模糊事件。当文本框模糊时,会发生一些验证,如果验证失败,文本框会重新聚焦(我知道这是一个糟糕的想法,但在这种情况下它是理想的行为)。
在chrome中,如果你聚焦第一个文本框然后尝试聚焦第二个文本框,你会看到这个事件顺序发生:
但是,在IE8中,您会看到:
在重新聚焦第一个文本框的情况下,我需要能够防止在第二个文本框中触发焦点和模糊事件。
Here is a fiddle证明了这个问题。该行为仅发生在IE8中。
更多信息:所有这些事件处理程序都绑定在单独的私有作用域中,因此两个文本框无法(我知道)与彼此的处理函数进行交互。
答案 0 :(得分:0)
虽然我不喜欢拥有全局状态,但似乎你不能说服IE8不要在第二个textarea上发起另一个模糊事件,所以你必须解决它。由于第一个textarea上的模糊事件是在第二个文本区域聚焦之前发送的,因此您可以:
这是一个黑客,但在处理有缺陷的浏览器时,你必须使用一些黑客......