ASP.NET 2.0 Web アプリケーション、CTRL + Letterできれば JavaScript を使用してショートカット キーの組み合わせを実装し、Web アプリケーションを人間工学的に改善するにはどうすればよいですか? JavaScript を介して複数キーのキーボード イベントをキャプチャする方法は?
4 に答える
簡単な答えは、Javascript を使用してキーダウン イベントをキャプチャし、そのイベントを使用して関数を起動することです。関連記事:
- http://www.openjs.com/scripts/events/keyboard_shortcuts/
- http://udayms.wordpress.com/2006/03/17/ajax-key-disabling-using-javascript/
- http://protocolsofmatrix.blogspot.com/2007/09/javascript-keycode-reference-table-for.html
- http://www.quirksmode.org/js/keys.html
jQuery ライブラリを使用している場合は、クロスブラウザー ソリューションのHotKeys プラグインを参照することをお勧めします。
これが元の質問に答えていないことはわかっていますが、ここに私のアドバイスがあります。Web アプリケーションでキーの組み合わせのショートカットを使用しないでください。
なんで?ユーザビリティを向上させるどころか、壊してしまう可能性があるからです。一般的なブラウザでは「ワンキー ショートカット」が使用されていないことは一般的に認められていますが (Opera では最後のメジャー バージョンからデフォルトとして削除されています)、さまざまなブラウザで使用されるキーの組み合わせのショートカットが何であるか、また今後どのようになるかを理解することはできません。 .
ギズモは良い点を指摘しています。http://www.clagnut.com/blog/193/には、一般的に使用されるアクセスキーの割り当てに関する情報がいくつかあります。
アクセスキーを変更する場合は、次の記事を参考にして、適切な方法を提案してください。
また、 Firefox のデフォルトのキーボードとマウスのショートカットのこのページが役立つ場合があります (同じ情報の別のバージョン)。Internet Explorer 7およびInternet Explorer 6のキーボード ショートカット。Opera および Safariのキーボード ショートカット。
JAWSやその他のキーボード ショートカットを追加するスクリーン リーダーを使用すると、問題が発生する可能性が高くなります。
イベントリスナー関数には、Eventオブジェクトが渡されます。これには、プロパティ「altKey」、「ctrlKey」、「shiftKey」、「metaKey」など、多くの有用な情報が含まれています。そのイベントが発生したときに修飾キーのいずれかが押されている場合、対応するプロパティはtrueに設定されます。
これは、キーボードとマウスのイベント(onclickなど)に適用されます。onkeydownイベントリスナーがある場合、修飾キー自体がイベントを発生させることに注意してください。
window.onkeyup = function(e) {
if (e.altKey) alert("Alt pressed");
if (e.shiftKey) alert("Shift pressed");
}
これはFirefox3、WindowsXPでテストされました。
Javascript はctrl+ alt+shiftキーをサポートしています。残りは把握できると思います。リンク。
これが元の質問に答えていないことはわかっていますが、ここに私のアドバイスがあります。Webアプリケーションでキーの組み合わせのショートカットを使用しないでください。
なんで?使いやすさを損なう可能性があるため、増やすのではなく。「ワンキーショートカット」は一般的なブラウザでは使用されないことが一般的に認められていますが(Operaはデフォルトで最後のメジャーバージョンから削除します)、さまざまなブラウザで使用されるキーの組み合わせのショートカットが何であるか、また何になるかを理解することはできません。 。
さらに、訪問者がFirefoxやOperaなどの高度にカスタマイズ可能なブラウザを使用している場合、訪問者が独自のショートカットを構成するか、追加のプラグインを定義する追加のプラグインを使用するリスクが高くなります。
Webアプリケーションはブラウザーに依存しているため、お気に入りの微調整が最も強力なブラウザーで機能する場合、友人のブラウザーでも同じように反応するとは決して考えないでください。