如何使用纯 jQuery 延迟移除字段焦点?
请考虑以下代码:
//Focus on the field on page load.
$("#user_login").focus();
//Remove prompt after a couple of seconds.
window.setTimeout(function() {
$("#user_login").blur();},
3000);
我有几个工具提示和其他事件与焦点上的 #user_login 输入相关。但为了不惹恼用户,我想在几秒钟后删除焦点。
这是我现在正在做的一种方式 - 据我所知,delay() 在这种情况下不起作用。还有其他纯 jquery 方法可以做到这一点吗?大致如下:
$("#user_login").focus().delay(3000).blur();
谢谢
P.S.: 我的解决方案现在工作得很好,这更多的是出于教育目的。
Please consider the following code:
//Focus on the field on page load.
$("#user_login").focus();
//Remove prompt after a couple of seconds.
window.setTimeout(function() {
$("#user_login").blur();},
3000);
I have several tooltips and other events tied to #user_login input on focus. But not to annoy user, I want to remove focus after a couple of seconds.
This is a way I'm doing right now - as I can understand delay() won't work in this instance. Is there any other pure jquery way to do this? Something along the lines of:
$("#user_login").focus().delay(3000).blur();
Thanks
P.S.:
My solution works fine right now as it is, this more for educational purposes.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
delay()
仅适用于动画。制作插件:
使用插件:
这是一个愚蠢的演示: http://jsfiddle.net/AlienWebguy/gKECa/< /a>
delay()
only works with animations.Make a plugin:
Use the plugin:
Here's a silly demo: http://jsfiddle.net/AlienWebguy/gKECa/