-1

Chromeを使用していて、JQueryを使用してalt + aを一方の入力にマップし、 alt + shift+aをもう一方の入力にマップしようとしています。Chromeを使用してデバッグしましたが、まだ理解できません。私はこれを行うための最良の方法として混乱しています。これが可能かどうかはわかりません。また、両方の入力でaccesskey = "a"を使用してみましたが、その場合は2番目の入力にヒットします。

どんなアイデアや助けも大歓迎です。ありがとう

<!DOCTYPE html>
<html>
   <head>
      <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"/>
      <script type="text/javascript" language="JavaScript">
         $(document).ready( function () {
         $(document).keyup('alt+a',       function () { $('suc').click(); });
         $(document).keyup('alt+shift+a', function () { $('try').click(); } );
         });
      </script>
   </head>
   <body>
      <form>
         <input type="submit" formaction="file:///C:/Users/me/Desktop/success.html" value="Success" accesskey="a" id="suc">
         <input type="submit" formaction="file:///C:/Users/me/Desktop/tryAgain.html" value="TryAgain" accesskey="a" id="try" >
      </form>
   </body>
</html>
4

3 に答える 3

1

キーボードイベントを処理するには、 https://github.com/keithamus/jwertyを使用することを強くお勧めします。

それはそのように見えるでしょう

jwerty.key('alt+a', function() {
    // success
});

jwerty.key('alt+shift+a', function() {
    // try again
});
于 2013-03-26T00:04:31.317 に答える
0

うーん、alt + shift + aはChromeで期待どおりに応答していないようです。おそらく、競合が発生しています。次のコードで、alt+aとalt+shift+aの両方をトリガーする#tryを取得しています。

$(window).on('keypress', function(e){
    if(e.altKey && e.which===97)
        $('#suc').trigger('submit');
});
$(window).on('keypress', function(e){
    if(e.altKey && e.shiftKey && e.which===97)
        $('#try').trigger('submit');
});

if(e.altKey && e.ctrlKey && e.which===97)代わりに#tryを試してみてください。

于 2013-03-25T23:16:16.110 に答える
0

私はaccesskey属性を設定し、jqueryを使用してホットキーを設定しようとしていたことが判明しました。

Chromeはエラーが発生したようです。私はこの記事を助けに使用しました:http ://www.openlogic.com/wazi/bid/188026/Easy-Keyboard-Shortcuts-for-Web-Pages

https://github.com/tzuryby/jquery.hotkeysで前進します。

<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
        $(document).keyup(
            function(e) {
                e = e || window.event; // because of Internet Explorer quirks...
                k = e.which || e.charCode || e.keyCode; // because of browser differences...
                if (k == 65 && e.altKey && !e.ctrlKey && !e.shiftKey) {
                    $('form').prop('action', 'file:///C:/Users/me/Desktop/tryAgain.html').submit();
                } else if (k == 65 && e.altKey && !e.ctrlKey && e.shiftKey) {
                    $('form').prop('action', 'file:///C:/Users/me/Desktop/success.html').submit();
                } else {
                    return true; // it's not a key we recognize, move on...
                }
                return false;
        });
</script>
</head>
<body>
<form>
<input type="submit" formaction="file:///C:/Users/me/Desktop/success.html" value="Success" id="suc">
<input type="submit" formaction="file:///C:/Users/me/Desktop/tryAgain.html" value="TryAgain" id="try" >
</form>
</body>
</html>
于 2013-04-08T21:36:25.280 に答える