Javascript 聚焦键盘输入的引导按钮

Javascript 聚焦键盘输入的引导按钮,javascript,jquery,twitter-bootstrap,marionette,Javascript,Jquery,Twitter Bootstrap,Marionette,我在网页上有一个Bootstrap3.0按钮。按钮不是窗体的一部分。当这个页面呈现时,如果用户点击键盘上的return,我希望按钮被点击。我设置了一个木偶事件监听器来处理点击事件 这是我的按钮: <button class="btn btn-primary js-new pull-right">New facility</button> 新设施 我该怎么做 我尝试过几件事——包括我认为显而易见的解决方案:执行$(“.js new”).first().focus()。这

我在网页上有一个Bootstrap3.0按钮。按钮不是窗体的一部分。当这个页面呈现时,如果用户点击键盘上的return,我希望按钮被点击。我设置了一个木偶事件监听器来处理点击事件

这是我的按钮:

<button class="btn btn-primary js-new pull-right">New facility</button>
新设施
我该怎么做


我尝试过几件事——包括我认为显而易见的解决方案:执行
$(“.js new”).first().focus()
。这不起作用。

如果我理解正确,您希望在点击“返回”时触发某个按钮的单击处理程序。如果是这样的话,这应该行得通<代码>$(“.js新建”).first().click(),假设选择器正确

通过使用
alert
console.log
显示选择器的长度,可以检查选择器是否正在查找元素:
console.log($(.js new”).length)

验证找到正确的元素后,只需调用
。click()
函数,即可触发绑定到元素的任何单击处理程序;如果没有参数传递给它,它将执行元素上已经存在的任何触发器

--

编辑:如果只想在按下enter键时触发单击处理程序,可以将事件绑定到返回键:

$(document).keypress(function(e) {
    if(e.which === 13) {
        // enter has been pressed, execute a click on .js-new:
        $(".js-new").first().click();
    }
});

非常确定OP意味着进入网站时按钮将被选中(=聚焦),这样按“回车”键将自动点击按钮,在这种情况下,他拥有的代码应该可以工作。啊。嗯,那是没有必要的;我将提供一个更可靠的解决方案。@Ellit您的解决方案有效——谢谢。我希望我能理解为什么我的.focus()方法不能。最好的!虽然这不是最好的方法,但它应该有效,请参见我的小提琴:。很可能您没有在document.ready(例如$(document).ready(function(){$(.js new).first().focus()})之后调用.focus(),或者其他东西正在窃取焦点,您可以使用console.log($(.js new”).first()测试它@PeteTNT可能是这样的,但这是一个单页应用程序,所以按钮就在那里。可能是焦点窃取的东西——我必须仔细看看。谢谢!