十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
可以去了解一下防抖和节流,“一秒只获取一次”此时需要使用节流的写法,比如:
目前创新互联建站已为上1000+的企业提供了网站建设、域名、网站空间、成都网站托管、企业网站设计、阳信网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
// 监听方法就不赘述了,将下面函数clickMethod作为监听的回调
var flag = false
function clickMethod () {
if (flag) {
return
}
flag = true // 改变flag值,阻拦一秒内的下一次执行
// 此处执行键盘事件触发的代码
setTimeout ( function () {
flag = false
}, 1000)
// 执行一次后延迟一秒后将flag值还原,这样下次触发就可以重新执行了
}
一、首先需要知道的是:
1、keydown()
keydown事件会在键盘按下时触发.
2、keyup()
keyup事件会在按键释放时触发,也就是你按下键盘起来后的事件
3、keypress()
keypress事件会在敲击按键时触发,我们可以理解为按下并抬起同一个按键
二、获得键盘上对应的ascII码:
$(document).keydown(function(event){
alert(event.keyCode);
});
$tips:
上面例子中,event.keyCode就可以帮助我们获取到我们按下了键盘上的什么按键,他返回的是ascII码,比如说上下左右键,分别是38,40,37,39;
三、实例(当按下键盘上的左右方面键时)
代码如下:
$(document).keydown(function(event){
//判断当event.keyCode
为37时(即左方面键),执行函数to_left();
//判断当event.keyCode
为39时(即右方面键),执行函数to_right();
if(event.keyCode
==
37){
to_left();
}else
if
(event.keyCode
==
39){
to_right();
}
else
if
(event.keyCode
==
38){
to_top();
}
else
if
(event.keyCode
==
40){
to_bottom();
}
});
function
to_left(){
$(".abc").css({'left':'-=10'});}
function
to_right(){
$(".abc").css({'left':'+=10'});}
function
to_top(){$(".abc").css({'top':'-=10'});}
function
to_bottom(){$(".abc").css({'top':'+=10'});}
当用户按下enter键时触发from提交,而不只是点击提交按钮才提交!这样更友好。 13表示enter按键的keyCode编码
jquery的键盘事件分为keypress、keydown和keyup事件
一、键盘事件
1、keypress()事件
keypress当按钮被按下时,会发生该事件,我们可以理解为按下并抬起同一个按键。
2、keydown()事件
当按钮被按下时,发生 keydown 事件(多用于游戏开发,比如一直按空格键进行攻击)。
3、keyup事件
keyup 事件会在按键释放时触发,也就是你按下键盘起来后的事件
二、通过键盘事件可以进行相应操作
$(document).ready(function() {
//释放按键时
$(document).keyup(function(event){
if(event.keyCode=="13"){ //13表示回车键的代码
alert("释放按键");
}
})
//按下按键时
$(document).keydown(function(event){
if(event.keyCode=="13"){
alert("按下按键");
}
})
//输入字符时
$(document).keypress(function(event){
if(event.keyCode=="13"){
alert("输入字符");
}
})
//获取键盘的 键码值 方法(如果不知道某个键对应的 键码值,可用这个方法,在键盘上按该键,就会弹出对应的值 )
$(document).keyup(function(event){
alert(event.keyCode);
})
});