一个href锚单击,导致使用jquery,firefox,IE 10失去对输入元素的关注

时间:2013-06-25 14:39:43

标签: jquery anchor

我的问题出现在IE10和Firefox中,但适用于Chrome。

我有一个像这样的锚:

<a id="link-to-form" href="#bonus-form">

我还有一个输入元素,我使用jquery集中它:

<input type="text" id="firstname" name="firstname" required />

$(document).ready(function(){                   
   $('#firstname').focus();     
});

我的问题是当我按下锚点链接并且它在页面内移动时,焦点会从我的输入标签中丢失。在按下锚点链接后,我想继续关注我的输入。

我尝试了很多东西,最后一个是以下内容。但它仍然没有集中注意力。实际上click事件是在调试器上触发的,但是当执行锚点时它会立即失去焦点:

$("#link-to-form").on("click", function (e) {
    $('#firstname').focus();
    return true;            
});

1 个答案:

答案 0 :(得分:2)

诀窍可能是存储当前关注的元素,
regainLastFocus类添加到任何所需的锚中 并单击该类元素:将焦点重置为上次聚焦的存储jQuery元素

不要忘记在点击时抓住event并使用:

event.preventDefault();

$("#link-to-form").on("click", function (e) {
    e.preventDefault();
    $('#firstname').focus();         
});