我认为如果不寻求帮助就很容易做到,但我猜不是。添加autofocus =“true”标记在页面最初加载时起作用,但如果任何人点击任何地方或打开链接,文本字段将失去焦点。如何强制该字段保持焦点?
答案 0 :(得分:2)
有人问你为什么要那样做。 答案当然是作为开发者,我们需要满足客户的疯狂要求:)
答案:
$(document).ready(function(){
$(document).click(function() { $("<THE-ELEMENT>").focus() });
});
在这种情况下,我们将监听器添加到文档中的所有元素:)
答案 1 :(得分:1)
在单击时在输入框上聚焦的文档上附加一个单击事件侦听器。
$(document).on("click", function()
{
$("yourInputIdHERE").focus();
}
答案 2 :(得分:1)
$("#textbox").focus().on('blur', function() {
$(this).focus();
});
答案 3 :(得分:1)
处理所有情况,防止某些事件传播到文档之前。还处理用户切换选项卡并返回的情况。
$("#element").blur(function ()
{
$("#element").focus();
});
$(document).bind('keydown mousedown mouseup click',function ()
{
$("#element").focus();
});
答案 4 :(得分: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");
}
});
如果您没有实现某种形式的标志来启用/禁用此行为,您将永远将用户锁定到一个字段中。他们没有(简单)的方式移动到页面的不同区域。
<强> Here is a small demo 下,
你会注意到,一旦文本字段具有焦点,它将保持它直到输入一个值。