这是我目前的代码,我似乎无法使用键盘动画。有什么帮助吗?
(文档)$。就绪(函数(){
$('#c4').on('keydown', function(e) {
if (e.which == 81) {// 81 is the value of q
animationkeydown(this, 'push');
}
});
function animationkeydown(element,animation){
element = $(element);
element.on('keydown',
function() {
element.addClass('animated push ' + animation);
//waits for animation to finish before removing//
window.setTimeout( function(){
element.removeClass('animated ' + animation);
}, 100);
});
}
答案 0 :(得分:2)
什么是#c4
,为什么要循环每个?如果它是一个ID,那么它应该只有一个元素。
无论如何,你正在寻找添加onkeydown
事件(这是jQuery)。假设你有一堆标识为#c4
的DOM元素(你不应该让它们成为类),你可以这样做:
$(document).ready(function(){
$('#c4').on('keydown', function(e) {
if (e.which == 81) {// 81 is the value of q
animationClick(this, 'push');
}
});
这会将keydown
事件应用于与该id匹配的每个元素。在回调中,e
包含事件,因此e.which
会为您提供按下的键。
编辑:在使用animationClick
代码的评论之后,假设一个有效
$(document).ready(function(){
$('#c4').on('keydown', function(e) {
var that = this; // to mimic the way you pass the element
var animation = "push";
if (e.which == 81) {// 81 is the value of q
that.addClass('animated push ' + animation); //waits for animation to finish before removing
window.setTimeout(function() {
that.removeClass('animated ' + animation);
}, 100);
}
});
});