【问题标题】:Jquery focus() doesn't work when tabbing?跳转时 Jquery focus() 不起作用?
【发布时间】:2010-10-15 19:04:10
【问题描述】:

我已经设置了一些触发各种输入字段焦点的基本代码:

        var div = '<div class="formHint">Content</div>';                 

       $j('.textbox').blur(function() {
          $j(".formHint").remove();
        });


       $j('.textbox').click(function() {

        $j(this).focus().before(div);
        $j(this).prev(".formHint").animate({ 
     marginLeft: "325px",
     opacity: "1"
     }, 200 );


});

基本上,它在 focus() 上的 .textbox 之后插入一个 DIV,并在 blur() 上删除所有 .textbox。

问题是,当您浏览元素时,它们不会获得焦点。 Jquerys 文档说

在最近的浏览器版本中,事件 可以扩展为包括所有元素 通过显式设置类型 元素的 tabindex 属性。一个 元素可以通过键盘获得焦点 命令,例如 Tab 键,或通过 鼠标点击元素。

但做了一些研究后,我不明白如何应用这个?

【问题讨论】:

  • 我觉得你对文档的理解有点偏差,它是针对 other 元素的,即使是简单的&lt;div&gt;,你可以通过给它一个tabindex 属性,例如:&lt;div tabindex=5"&gt;,现在您可以使用 Tab 键定位/聚焦该元素。
  • 哦,好的,我明白了......但是,我如何获得我正在寻找的功能(专注于标签)?

标签: jquery focus


【解决方案1】:

你需要处理焦点事件,而不是点击事件:

$('.textbox').focus(function() {
    $(this).before(div);
    $(this).prev(".formHint").animate({ 
        marginLeft: "325px",
        opacity: "1"
    }, 200 );
});

【讨论】:

  • 我才意识到这一点!现在我觉得自己像个白痴……需要慢一点。谢谢!
猜你喜欢
  • 1970-01-01
  • 2017-12-01
  • 1970-01-01
  • 2010-11-22
  • 2013-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多