我试图确定为什么这样的事情不起作用:
$('a').focus( function() {
$(this).click();
});
背景:
我试图创建一个表单,其中Tab键到各种元素(例如文本框等)将触发到div中锚点的链接,以便在填写表单时将相关文本滚动到视图中
有更好的方法吗?
答案 0 :(得分:0)
$('yourInput').on('focus', function(){
$('yourAnchor').trigger('click');
});
应该可以正常工作,但是由于新元素已被“点击”,您可能会忽略输入字段。我建议使用jQuery scrollTo插件。这将使你能够做到这样的事情:
$('yourInput').on('focus', function(){
$('messageArea').scrollTo('yourAnchor');
});
滚动是以一种漂亮的动画方式进行的,并且不会触发浏览器事件。
您发布的代码可能失败的部分原因是,1。锚点并不总是有焦点事件,2。聚焦后立即单击它可能是多余的,并且不会导致您正在寻找的更改。