使用kepresss和if语句启用和禁用元素

时间:2018-12-15 06:43:31

标签: javascript html

我正在使用电子来构建具有全屏功能的应用程序(当然)。我正在尝试使用F11键(keyCode =“ 85”)在我的HTML页面上启用一条消息,告诉用户按F11退出全屏。我正在使用var i = 0设置全屏应用的status,其中i = 0;不是全屏,而i = 1;是全屏。除了我尝试通过按 F11 禁用它以外,此功能部分起作用。按下时,该元素不会将其显示设置为none

我在做什么错误?谢谢!

window.addEventListener("keydown", checkKeyPressed, false);

function checkKeyPressed(e) {
  var i = 0;

  if (i == "0") {
    if (e.keyCode = "85") {
      document.getElementById('exitfullscreenmessage').style.display = "block";
      i = 1;
    }
  } else if (i == "1") {
    if (e.keyCode = "85") {
      document.getElementById('exitfullscreenmessage').style.display = "none";
      i = 0;
    }
  }
}

1 个答案:

答案 0 :(得分:1)

每次输入函数时,您将i重新初始化为0。您需要将变量移出函数。

您还应该使用布尔值来实现交替值,而不是1/0。而且不要在数字两边加上引号。

您还有一个错字,您在测试=时使用==而不是e.keyCode

window.addEventListener("keydown", checkKeyPressed, false);
var fullscreenmessage = false;

function checkKeyPressed(e) {
  //the correct keycode for F11 is 122
  if (e.keyCode == 122) {
    document.getElementById('exitfullscreenmessage').style.display = fullscreenmessage ? "none" : "block";
    fullscreenmessage = !fullscreenmessage;
  }
}
#exitfullscreenmessage {
  display: none;
}
<div id="exitfullscreenmessage">Exit full screen</div>