我下面的代码:
<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');
});