使用jQuery,以下内容在FF中不起作用,但在IE中

$(this).focus().select();

我环顾四周,发现您可以使用超时来解决此问题,但是如果可以避免的话,那不是我想做的事情。有谁知道另一种方法来使它在FF中工作?

都会

最佳答案

我之前也遇到过这个问题。我相信setTimeout()解决方案是在Firefox中运行的唯一方法。如果我没有记错的话,这个问题与事件处理的顺序有关:IE会在调用focus()方法时立即更改控件焦点,但是Firefox通过将焦点事件添加到事件队列来处理它,直到事件队列才能解决。当前事件处理完成后。 setTimeout()技巧之所以有效,是因为它将焦点更改事件之后,将代码的其余部分添加到事件队列中的另一个事件中,从而使其在代码继续处理之前得以解决。

09-28 08:26
查看更多