点击输入按下的锚标记链接

我有一个像锚的标签

Continue 

它在弹出窗口内。 我需要按回车键点击此链接。 我尝试了以下代码,但它对我不起作用。

  $(document).ready(function(){ $(document).keyup(function(event){ if (event.keyCode == 13){ $("#clicking").trigger('click'); } }) }); 

不确定为什么function不起作用。 我也使用了点击function同样的结果。它在鼠标点击时正常工作。 我需要在输入印刷机上自动工作。

以下代码在Firefox中正常运行。

 $(document).ready(function () { $(document).on("keyup", function (event) { if (event.which == 13) { document.getElementById("clicking").click(); } }); 

});

如何在Chrome上完成这项工作?

我认为问题在于您使用的是event.keyCode ,并不总是在所有浏览器中使用。 有些浏览器使用event.which甚至是不同的event.which ,这可能会被你正在使用的东西支持。 无论如何,使用jQuery从事件中获取event.which的正常方法是使用event.which

jQuery规范化传递给事件处理程序的event对象并修复这样的“问题”,这样您就不必担心了。 同时,它似乎复制了一些原始事件的属性(“原始事件中的大多数属性都被复制并标准化为新的事件对象。” – 来自jQuery API文档)。 这可能就是为什么它为其他人评论/回答“工作”的原因。 传递给处理程序的event参数已由jQuery生成/规范化,并且将使用正确的属性提供您需要的所有内容。 但正确的方法是使用event.which来获取事件的规范化键码。 http://api.jquery.com/event.which/

 $(document).ready(function () { $(document).on("keyup", function (event) { if (event.which == 13) { $("#clicking").trigger('click'); } }); }); 

我创建了这个JSFiddle: http : //jsfiddle.net/egzsf/它工作得很好我只添加了Internet Explorer的后备。

你的弹出窗口是什么样的? 也许这是一个iFrame,这将是一个合乎逻辑的解释。

码:

 Continue $(document).ready(function(){ $(document).keyup(function(e){ if (e.keyCode == 13){ $("#clicking").trigger('click'); } }) });​ 

更好的选择是使用e.which

我希望以下代码可以帮助你。编码代码:

  Continue $(function(){ $('body').keyup(function(e){ if (e.keyCode == 13){ $("#clicking").click(); } }) });