我认为这很容易在不寻求帮助的情况下完成,但我想不是。添加 autofocus="true" 标记在页面最初加载时起作用,但如果有人单击任何位置或打开链接,文本字段就会失去焦点。如何强制字段保持焦点?
问问题
2024 次
5 回答
2
有人问你为什么要这样做。答案当然是作为开发人员,我们需要处理客户的疯狂需求:)
对于答案:
$(document).ready(function(){
$(document).click(function() { $("<THE-ELEMENT>").focus() });
});
在这种情况下,我们将侦听器添加到文档中的所有元素:)
于 2014-04-20T11:38:12.290 回答
1
在单击时关注输入框的文档上附加单击事件侦听器。
$(document).on("click", function()
{
$("yourInputIdHERE").focus();
}
于 2013-04-05T19:41:36.247 回答
1
$("#textbox").focus().on('blur', function() {
$(this).focus();
});
于 2013-04-05T19:41:50.963 回答
1
处理所有情况,以防某些事件被阻止传播到文档。还要处理用户切换选项卡并返回的情况。
$("#element").blur(function ()
{
$("#element").focus();
});
$(document).bind('keydown mousedown mouseup click',function ()
{
$("#element").focus();
});
于 2013-04-05T19:48:01.040 回答
0
您可能想要尝试做的是将事件处理程序附加到blur
事件。一旦你捕捉到它,你可以简单地在最初失去焦点的同一个元素上触发一个焦点事件。
$("input").on('blur',function(){
$(this).focus();
});
您可能希望将此与某种形式的验证结合起来,以便用户输入所需的值后,他们将能够离开文本字段。
$("input").on('blur',function(){
var $this = $(this);
if ($this.val() == ''){
$this.focus();
showErrorMessage("Please enter a value");
}
});
如果您不实施某种形式的标志来启用/禁用此行为,您将永远将用户锁定在一个字段中。他们没有(简单的)方法可以移动到页面的不同区域。
这是一个小演示,
您会注意到一旦文本字段获得焦点,它将一直保持到输入值为止。
于 2013-04-05T19:43:44.553 回答