请考虑以下代码:
//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();
谢谢
附注: 我的解决方案现在工作得很好,这更多的是出于教育目的。
最佳答案
delay()
仅适用于动画。
制作一个插件:
(function($) {
$.fn.promptTooltip = function(duration) {
$this = $(this);
$this.focus();
setTimeout(function() {
$this.blur();
}, duration);
};
})(jQuery);
使用插件:
$('#testme').promptTooltip(3000);
这是一个愚蠢的演示:http://jsfiddle.net/AlienWebguy/gKECa/
关于jquery - 如何使用纯 jQuery 延迟移除字段焦点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7772483/