js键盘监听的问题

奇乐二二二 2012-03-31 12:15:26
有as2个键需要监听
键入a的时候目标div向上移动一个位置,键入s的时候目标向下移动一个位置;
一直按着将会一直移动;
事件触发是通过keypress来执行的,
但是一直按着的时候会出现一个问题:首先移动一个位置,然后停顿差不多1秒吧,然后才会保持一直移动。这个问题如何解决呢?
...全文
258 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
奇乐二二二 2012-04-01
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

不要用keypress事件
使用
down事件
up事件

down的时候触发 up的时候结束
被触发的应该是一个 不断执行的定时器代码
[/Quote]
我想做的是按一下的话移动一次,一直按住则保持移动,up的时候停止,但是不管是down还是press一直按住的时候开始总会有1秒左右的延迟
PerterPon 2012-04-01
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]

JScript code

$(element).keydown(function(){
this.bool = true;
setInterval(foo, 10)
}).keyup(function(){
this.bool = false;
});
function foo(){
if(this.bool){
return;
}
}……
[/Quote]
应该在keydown的时候也加个判断,foo里漏了个!
PerterPon 2012-04-01
  • 打赏
  • 举报
回复

$(element).keydown(function(){
this.bool = true;
setInterval(foo, 10)
}).keyup(function(){
this.bool = false;
});
function foo(){
if(this.bool){
return;
}
}


大致一个思路,貌似没问题,具体作用域什么的,自己传参解决吧
色拉油 2012-03-31
  • 打赏
  • 举报
回复
不知道你怎么写的
三石-gary 2012-03-31
  • 打赏
  • 举报
回复
贴出你的代码。。
freedom_gooboy 2012-03-31
  • 打赏
  • 举报
回复
不懂说的对不对,请强人补充了。。
freedom_gooboy 2012-03-31
  • 打赏
  • 举报
回复
keydown这个地方做下处理
KK3K2005 2012-03-31
  • 打赏
  • 举报
回复
不要用keypress事件
使用
down事件
up事件

down的时候触发 up的时候结束
被触发的应该是一个 不断执行的定时器代码

奇乐二二二 2012-03-31
  • 打赏
  • 举报
回复

$(document).keypress(function(e){
var e = e || window.event;
var k = e.which ? e.which : e.keyCode;
if(k == 65 || k == 97) {// a
$('#div').css('top', /[0-9]+/.exec($('#bird').css('top'))*1 +1 );
}else if(k == 83 || k ==115){//s
$('#div').css('top', /[0-9]+/.exec($('#bird').css('top'))*1 -1 );
}
});
奇乐二二二 2012-03-31
  • 打赏
  • 举报
回复
$(document).press(function(e){
var e = e || window.event;
var k = e.which ? e.which : e.keyCode;
if(k == 65 || k == 97) {// a
$('#div').css('top', /[0-9]+/.exec($('#bird').css('top'))*1 +1 );
}else if(k == 83 || k ==115){//s
$('#div').css('top', /[0-9]+/.exec($('#bird').css('top'))*1 -1 );
}
});

87,990

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧