如何使用纯 jQuery 延迟移除字段焦点?

发布于 2024-12-09 19:15:19 字数 492 浏览 0 评论 0原文

请考虑以下代码:

  //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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

缱绻入梦 2024-12-16 19:15:19

delay() 仅适用于动画。

制作插件:

(function($) {
    $.fn.promptTooltip = function(duration) {
        $this = $(this);
        $this.focus();
        setTimeout(function() {
            $this.blur();
        }, duration);
    };
})(jQuery);

使用插件:

$('#testme').promptTooltip(3000);

这是一个愚蠢的演示: http://jsfiddle.net/AlienWebguy/gKECa/< /a>

delay() only works with animations.

Make a plugin:

(function($) {
    $.fn.promptTooltip = function(duration) {
        $this = $(this);
        $this.focus();
        setTimeout(function() {
            $this.blur();
        }, duration);
    };
})(jQuery);

Use the plugin:

$('#testme').promptTooltip(3000);

Here's a silly demo: http://jsfiddle.net/AlienWebguy/gKECa/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文