我有两个文本框,都有通过 jQuery 处理的模糊事件。当文本框模糊时,会发生一些验证,如果验证失败,文本框会重新聚焦(我知道这是一个糟糕的想法,但在这种情况下这是理想的行为)。
在 chrome 中,如果您关注第一个文本框然后尝试关注第二个文本框,您将看到以下事件顺序发生:
- 从 text1 触发的焦点
- 从 text1 发射的模糊
- 从 text1 触发的焦点
但是,在 IE8 中,您会看到:
- LOG:从 text1 触发焦点
- LOG:从 text1 触发的模糊
- LOG:从 text1 触发焦点
- LOG:从 text2 触发焦点
- LOG:从 text2 触发的模糊
- LOG:从 text1 触发焦点
在第一个文本框被重新聚焦的情况下,我需要能够防止在第二个文本框上触发焦点和模糊事件。
这是一个演示这个问题的小提琴。该行为仅发生在 IE8 中。
更多信息:所有这些事件处理程序都绑定在单独的私有范围内,因此两个文本框(据我所知)无法与彼此的处理程序函数进行交互。