此代码应在文本区域被选中时选择该文本区域的内容。但是,它本身不起作用:
$("#form").focus(function() {
$("#form").select();
});
只有当我将 setTimeout
设置为 0 时它才有效,如下所示:
$("#form").focus(function() {
setTimeout(function() {
$("#form").select();
}, 0);
});
这是为什么?
最佳答案
看起来第一个代码片段正在选择,然后取消选择文本。我怀疑文本选择是在 focus
事件完成后在幕后处理的,并且 setTimeout
在事件后执行 select
(当幕后的事情已经发生了)。
关于javascript - 为什么 setTimeout(myFunction, 0) 有效,但运行函数本身却不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11443517/