onKeyDown处理函数只工作一次



我创建了一个chack键盘点击函数,而不是一直声明事件侦听器。

当你调用它一次,它工作,但当我有两个或更多的实例,只有最后一个工作正确。

var left = y_input_s.chack (y_key.left);
var right =  y_input_s.chack (y_key.right);

只有"right"才行

功能如下:

y_input.prototype.chack = function (key) 
{
//38 up |40 down| 39 left | right 37 | space 32 | 
//insert key code to array dinamicly
//if its unudetfid so the key wasent pressed yet so its false
if(y_input.prototype.key_down_cack[key] == undefined)
{
    y_input.prototype.key_down_cack[key] = false;   
}
//if the key is down change its place in array to true
document.onkeydown = function(event)
{
    if(event.keyCode == key){y_input.prototype.key_down_cack[key] = true;}
}
//if the key is up change its place in array to false
document.onkeyup = function(event)
{
    if(event.keyCode == key){y_input.prototype.key_down_cack[key] = false;}
}
//return the key state from array
return y_input.prototype.key_down_cack[key] ;
    }//end chack

我测试了函数里面的东西,"key"的值是好的,但是当我检查"key"里面。

document.onkeydown = function(event)
{

返回在参数中传递的最后一个chack函数键值。

失败的原因是你一直在写keyup事件。

document.onkeyup = function(event)

了解addEventListener

相关内容

  • 没有找到相关文章

最新更新