处理焦点事件时触发单击(jQuery)

时间:2012-05-15 18:44:08

标签: javascript jquery events javascript-events

我试图确定为什么这样的事情不起作用:

$('a').focus( function() {
  $(this).click(); 
});

背景:

我试图创建一个表单,其中Tab键到各种元素(例如文本框等)将触发到div中锚点的链接,以便在填写表单时将相关文本滚动到视图中

有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

 $('yourInput').on('focus', function(){
      $('yourAnchor').trigger('click');
 });

应该可以正常工作,但是由于新元素已被“点击”,您可能会忽略输入字段。我建议使用jQuery scrollTo插件。这将使你能够做到这样的事情:

 $('yourInput').on('focus', function(){
       $('messageArea').scrollTo('yourAnchor');
 });

滚动是以一种漂亮的动画方式进行的,并且不会触发浏览器事件。

您发布的代码可能失败的部分原因是,1。锚点并不总是有焦点事件,2。聚焦后立即单击它可能是多余的,并且不会导致您正在寻找的更改。

相关问题