点击输入按下的锚标记链接
我有一个像锚的标签
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(); } }) });