JQuery点击链接无法正常工作

0x4*_*9D1 8 javascript jquery click hyperlink

我有以下代码:

<script type="text/javascript">
$(document).ready(function(){
    shortcut.add("Ctrl+Alt+N", function() {
        $("#btnSave").click();
    });
});
</script>
Run Code Online (Sandbox Code Playgroud)

其中btnSave是ID为btnSave的锚元素,快捷方式来自http://www.openjs.com/scripts/events/keyboard_shortcuts/.如果我改线$("#btnSave").click();document.getElementById("btnSave").click()-一切工作正常.问题是为什么jquery实现在我的情况下不起作用?
PS:为我的案子制作了jsfiddle:http://jsfiddle.net/0x49D1/WCmeU/
这是有类似问题的人:http ://forums.asp.net/t/1591818.aspx

Nel*_*son 19

而不是$("#btnSave").click();尝试$("#btnSave").trigger('click');

你也可以使用$("#btnSave")[0].click();jquery等价的document.getElementById("btnSave").click();

更新:
无法模拟来自javascript的用户链接点击,出于安全原因,您可以做的就是附加您自己的click事件处理程序和基于href链接的重定向,如下所示:

$("#btnSave").bind('click', function() {
    window.location.href = $(this).attr('href');
});
Run Code Online (Sandbox Code Playgroud)

  • @0x49D1我所说的禁止以下链接地址是正确的,但仅限于外部链接,因为它们将违反同源策略,如果链接href是与原始页面位于同一主机/端口/协议中的某个页面,那么调用 .click() 将跟随链接。作为文档,请参阅此处:http://en.wikipedia.org/wiki/Same_origin_policy (2认同)