当按下一个键(假入是a)执行一件事情、在按下一个键(假如是d)同样执行件事情。。
我用的setTimeout,可是还是不行,我按下a他就执行a的事件,可我一按下b、b的事件执行了,可是a的却停止了。我想让它们互不影响求解
我用的setTimeout,可是还是不行,我按下a他就执行a的事件,可我一按下b、b的事件执行了,可是a的却停止了。我想让它们互不影响求解
解决方案 »
- jquery 判断两个字符串是否相似
- 我需要给所有的jsp页面中的一个文本框加上控制事件
- 简单交互,js请求时怎么提交form表单
- [百度空间] 百度空间中实现拖拽、悬浮窗口效果的popup.js分析,如何修改,才能通用 ?
- xml的遍历问题
- javascript怎么把注册表里的项读出来?(比如说吧.Net的InstallLocation读出来!)
- hibernate问题
- 请INPUT的属性为READONLY,我想在添入一个数值进去INPUT的时候触发事件,请问是哪个事件呢?
- 非常急,如何遍历页面内所有HIDDEN的值
- 帮忙看看一个json的字符串,提示 无效的json基元
- jquery 验证插件的改进
- IE6用jsp菜单下拉显示正常,IE8报告“menu 未定义”
</div>
<div style="width:15px; height:8px; background-color:red; position:absolute; top:100px; left:10px;" id="zd1">
</div> document.body.onkeypress=function(){
var kd=event.keyCode;
if(你按下了a){第一个div向左边移动(如果松开,就停止移动)};
if(。b){。二。。};}
我想按同时让两个div都移动,结果是,一按a,就把b停了,一按b,就把a给停了。
用jquery很容易做到。
我可以给你用jquery做的代码
<script src="jquery.hotkeys.js"></script>$(function(){
var move={
a:function(){
$("#zd").animate({left:"+=1px"},15);
},
b: function(){
$("#zd1").animate({left:"+=1px"},15);
}
};
var am=false;
var bm=false;
jQuery(document).bind('keydown', 'a',function (evt){
am=true;
if(bm){
move.b();
}
move.a();
}).bind('keydown', 'b',function (evt){
bm=true;
if(am){
move.a();
}
move.b();
}).bind('keyup', 'a',function (evt){
am=false;
}).bind('keyup', 'b',function (evt){
bm=false;
});
});
这个js不用解释了吧
jquery.hotkeys.js
这个js是键盘事件的插件
上面的move对象 改为下面的这个。var move={
a:function(){
$("#zd").animate({left:"+=1px"},0);
},
b: function(){
$("#zd1").animate({left:"+=1px"},0);
}
};
下面的符合你这次要求了。
还是不清楚如果同时按你的要求是什么$(function(){
var move={
a:function(){
$("#zd").animate({left:"+=1px"},15);
},
b: function(){
$("#zd1").animate({left:"+=1px"},15);
}
};
jQuery(document).bind('keydown', 'a',function (evt){
move.a();
}).bind('keydown', 'b',function (evt){
move.b();
});
});
我用的是ie8,jq1.3.2。。我按下那个键都会移动。。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript" src="jquery.js"></script>
</head>
<body>
<div id='a' style="position:absolute;left:10px;top:10px;width:200px;height:120px;background:#f0f">0</div>
<div id='b' style="position:absolute;left:100px;top:200px;width:200px;height:120px;background:#0ff">0</div>
<script type="text/javascript">
$(document).ready(function() {
var alist = {};
var atimer = null;
$(document).keydown(function(e) {
action(e.keyCode, 'move'); }).keyup(function(e) {
action(e.keyCode, 'stop');
});
function action(k, act) {
if(k == 65 || k == 66) {
if(act == 'move') {
alist[k] = k == 65? '#a' : '#b';
if(!atimer) {
atimer = setInterval(function() {
$.each(alist, function(i, v) {
if(v) {
$(v).css('left', ($(v).position().left + 10));
}
});
}, 20);
}
} else {
alist[k] = null;
if($.isEmptyObject(alist)) {
clearInterval(atimer);
atimer = null;
}
}
}
}
});
</script>
</body>
</html>
我想问你下,你加载这个js包了吗?
jquery.hotkeys.js
{
感谢!!!;
}