这是我到目前为止得到的
http://jsfiddle.net/qEKfg/
这是两个在点击时激活的按钮,看起来像键盘键。
我正在尝试使其仅在键盘按下相关键(CTRL和D)时激活(动画)这将为我的网站添加书签产生“动画按钮”效果,因为CTRL + D是热键为页面添加书签。
但我不知道如何设置它以使用 html 或 jQuery 中的键盘键
如果有人可以帮助我真的很感激
问问题
821 次
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 回答