これは私がこれまでに得たものです
http://jsfiddle.net/qEKfg/
クリックするとアクティブになり、キーボードのキーのように見える2つのボタンです。
関連するキー (CTRL および D) をキーボードで押したときにのみアクティブ化 (アニメーション化) するようにしようとしています。CTRL+D はホットキーであるため、これにより、Web サイトをブックマークするための「アニメーション化されたボタン」効果が作成されます。ページをブックマークします。
しかし、HTMLまたはjQueryのキーボードキーで動作するように設定する方法がわかりません
。本当に感謝しています
2 に答える
2
以下はあなたのために働くはずです。ただし、ウィンドウがフォーカスを失うため、5 秒後に画面上の「ボタン」を解放するタイマーを追加したことに注意してください。その特定の時間にウィンドウがフォーカスを失うと、keyup イベントが発生しなくなります。
$(document).ready(function() {
var keys = [];
$(window).on('keydown keyup', function(e) {
if (e.type == "keydown") {
if (e.keyCode == 17 || e.keyCode == 91) {
$("a.a_demo_two:contains('CTRL')").addClass("active");
keys[0] = e.keyCode;
}
else if (e.keyCode == 68) {
$("a.a_demo_two:contains('D')").addClass("active");
keys[1] = 68;
};
if ((keys[0] == 17 || e.keyCode == 91) && keys[1] == 68) {
setTimeout(function() {
$('a.a_demo_two').removeClass("active");
}, 5000);
}
}
else {
if (e.keyCode == 17 || e.keyCode == 91) {
$("a.a_demo_two:contains('CTRL')").removeClass("active");
}
else if (e.keyCode == 68) {
$("a.a_demo_two:contains('D')").removeClass("active");
}
keys = [];
}
});
});
于 2012-09-30T00:19:33.940 に答える
0
基本的には、ハンドラーkeydown
とkeyup
イベントを配置して、必要なものをトリガーするだけです。そんな感じ
$('body').on('keydown', function(e) {
console.log(e)
if (e.ctrlKey) $('.a_demo_two').trigger('mousedown')
if (e.keyCode === 100) $('.a_demo_two').trigger('mousedown')
});
$('body').on('keyup', function(e) {
console.log(e)
if (e.ctrlKey) $('.a_demo_two').trigger('mouseup')
if (e.keyCode === 100) $('.a_demo_two').trigger('mouseup')
});
</p>
于 2012-09-30T00:01:47.497 に答える