我下面的代码:

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

其中btnSave是ID为btnSave的 anchor 元素,快捷方式来自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

最佳答案

代替$("#btnSave").click();尝试使用$("#btnSave").trigger('click');
您还可以使用$("#btnSave")[0].click();,它与document.getElementById("btnSave").click();等效

更新:
出于安全原因,无法模拟用户从javascript单击的行为,您只能为click事件附加您自己的处理程序,然后根据链接的href进行重定向,如下所示:

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

09-28 02:49