2015-10-07 124 views
0

按键上的事件向下箭头不工作,不会改变颜色为红色,在控制台没有错误,我做错了什么?按键箭头向下不工作

var getText = document.getElementsByTagName('h1')[0]; 

      getText.onclick = function() { 
        getText.innerHTML = "Simple"; 
      } 

       function keyPress() { 
       if(event.which == 13) { 
        getText.style.color = 'blue'; 
       } 

       if(event.which == 40) { 
        getText.style.color = 'red'; 
       } 
      } 
+3

您的代码缺少一些部分......在什么地方'event'变量被设置?我也没有看到你听按键事件。 – Salketer

+0

另外,箭头键通常不会触发按键事件...但是,一旦我看到您的真实情况,我将详细介绍所有这些。 – Salketer

回答

1

正如@Salketer指出你需要一个事件监听器来观察键盘事件。在这种情况下,keyPress函数可以用作事件处理程序。 (但event必须设置在函数定义中的第一个参数。)

var getText = document.getElementsByTagName('h1')[0]; 

function keyPress(event) { 
    if(event.which == 13) { 
     getText.style.color = 'blue'; 
    } 

    if(event.which == 40) { 
     getText.style.color = 'red'; 
    } 
} 

/* Setup an event listener and use keyPress as event handler */ 
window.addEventListener('keydown', keyPress, false); 

参见:https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener