使用jQuery,下面的在FF里不行,在IE里可以
$(this).focus().select();
我环顾四周,发现您可以使用超时来解决这个问题,但如果可以避免的话,我不想这样做。有谁知道另一种方法可以做到这一点并让它在 FF 中工作?
大都会
最佳答案
我以前也遇到过这个。我相信 setTimeout() 解决方案是在 Firefox 中工作的唯一方法。这个问题与事件处理的顺序有关,如果我没记错的话:IE 会在调用 focus() 方法时立即更改控件焦点,但是 Firefox 通过将焦点事件添加到事件队列来处理它,直到当前事件处理完成后。 setTimeout() 技巧之所以有效,是因为它在焦点更改事件之后将您的代码的其余部分添加到事件队列中的另一个事件,导致它在您的代码继续处理之前解决。
关于Javascript 焦点和选择在 FF 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2562723/