我的问题出现在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;
});
答案 0 :(得分:2)
诀窍可能是存储当前关注的元素,
将regainLastFocus
类添加到任何所需的锚中
并单击该类元素:将焦点重置为上次聚焦的存储jQuery元素
不要忘记在点击时抓住event
并使用:
event.preventDefault();
$("#link-to-form").on("click", function (e) {
e.preventDefault();
$('#firstname').focus();
});