我有以下代码:
<script type="text/javascript">
$(document).ready(function(){
shortcut.add("Ctrl+Alt+N", function() {
$("#btnSave").click();
});
});
</script>
其中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
答案 0 :(得分:17)
而不是$("#btnSave").click();
尝试使用$("#btnSave").trigger('click');
您还可以使用$("#btnSave")[0].click();
,其等同于document.getElementById("btnSave").click();
<强>更新强>:
由于安全原因,无法模拟来自javascript的用户链接点击,您可以做的就是为click
事件附加您自己的处理程序,并根据链接的href
重定向,如下所示:< / p>
$("#btnSave").bind('click', function() {
window.location.href = $(this).attr('href');
});
答案 1 :(得分:1)
试试这个
<script type="text/javascript"> $(document).ready(function(){ shortcut.add("Ctrl+Alt+N", function() { $("#btnSave").live('click',function(){ // do stuff here }); }); }); </script>