尽管不满足所有条件,但if语句触发

时间:2014-03-25 08:53:48

标签: javascript if-statement

如果有条件,我就有了这个:

(48-57是打字机数字,96 - 105适用于数字键盘)

  if((e.ctrlKey && e.altKey) && ((e.keyCode > 47 && e.keyCode < 58)) || (e.keyCode > 95 && e.keyCode < 106)){
      console.log(e.altKey);
  }

如果我不使用数字键盘而不是打字机键,这样做效果很好。

但是,如果我按 ctrl +数字键盘上的任何数字,条件将触发并输出false到控制台

怎么可能?

2 个答案:

答案 0 :(得分:2)

你的意思是?

(e.ctrlKey && e.altKey) && ((e.keyCode > 47 && e.keyCode < 58) || (e.keyCode > 95 && e.keyCode < 106))

答案 1 :(得分:1)

你可以试试这个:

if  (
        ( e.ctrlKey && e.altKey ) 
        && (
            (e.keyCode > 47 && e.keyCode < 58) 
            || (e.keyCode > 95 && e.keyCode < 106)
        )
    )
{
      console.log(e.altKey);
}

你有a)之后&lt; 58这不是好地方