11

次のコードがあります。

<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

4

2 に答える 2

20

$("#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');
});
于 2012-09-27T09:19:23.047 に答える
0

これを試して

<script type="text/javascript"> 
      $(document).ready(function(){
         shortcut.add("Ctrl+Alt+N", function() {
            $("#btnSave").live('click',function(){
           // do stuff here
            });
         }); 
      }); </script>
于 2012-09-27T09:55:04.993 に答える