表单文本框 - 在页面加载期间保持焦点

时间:2013-01-09 15:21:31

标签: forms textbox focus

在我的主页上,我有一个带有搜索文本框的表单。如果您单击输入并在仍然加载页面时开始输入,则会有东西窃取焦点,因此您必须在输入文本框中单击返回。

有没有办法防止这种情况发生?我是否需要找到窃取焦点的内容?

1 个答案:

答案 0 :(得分:0)

听起来你的一个脚本正在设置一些专注于加载的东西。

</body>之前将其放在HTML的底部。您的控制台将显示正在获得关注的项目的HTML。

<script>
$(window).load(function() { // NB not document ready
    console.log($(':focus')[0]);
    // alert($(':focus')[0]); // if you don't know what console is
});
</script>

希望元素中有一个ID可以搜索你的脚本,或者有足够的线索让你找到被告知关注加载的内容。然后你可以删除/改变那一行。

<强>附录

事实证明这是罪魁祸首

$('#f input#livesearch').clearableTextField();

只有在用户使用该字段时才会需要可清除功能,所以让它使其成为上下文,即只有在给定焦点时,才能使该功能可用。这应该可以阻止顽皮的插件窃取焦点。

$('#f input#livesearch').on('focus', function(){
    $(this).clearableTextField();
});

通常最好在上下文中编写 - 你会发现在onload上设置了几十个绑定和“实时”事件的页面,但很少使用它们。如果它是在用户做某事之前不需要发生的事情,或者直到你可以告诉用户要做某事,那就这样写吧。