JQUERY模拟用户点击DIV后按TAB键

时间:2010-08-08 12:00:14

标签: jquery

当我点击DIV时,我需要按TAB键(以便从一个输入字段转到下一个输入字段)。

我试过这段代码但是没有用:

$("#change_logo").click(function() { 
   e = jQuery.Event("keydown");
   e.which = 9;
   // This is the ID of the input where I want to simulate the "Press TAB Key"
   // and then I will  go automatically to the following input which ID is 
   // #newsletter_section_title2
   $("#newsletter_section_title1").trigger(e); 
});

我知道有很多不同的方法可以做到这一点,.focus()等。但是,出于其他原因,我需要模拟按下的TAB键(但用户不按TAB,用户只需点击div)。

任何人都知道怎么做?

非常感谢, 达尼

2 个答案:

答案 0 :(得分:2)

模拟选项卡按钮不会在这里完成工作,并不是你做错了什么,而是模拟事件通常不会调用默认操作,在这种情况下聚焦下一个字段。例如,<a>上的.click()也不会跟随该链接。

你需要走.focus()路线,$('#newsletter_section_title2').focus()才能获得你想要的效果......你开始避免它的原因是什么?

答案 1 :(得分:0)

我创建了一个simple jQuery plugin来解决这个问题。它使用jQuery UI的':tabbable'选择器来查找下一个'tabbable'元素并选择它。

使用示例:

$("#change_logo").click(function() { 
    $.focusNext();  
});