代码之家  ›  专栏  ›  技术社区  ›  Audio Tone

运行位置。单击控制键时替换

  •  0
  • Audio Tone  · 技术社区  · 3 年前
      document.addEventListener('keydown', (event) => {
        var name = event.key;
        var code = event.code;
        if (name === 'Control') {
       location.replace(classroom.google.com)
        }
        if (event.ctrlKey) {
          alert(`Combination of ctrlKey + ${name} \n Key code Value: ${code}`);
        } else {
          alert(`Key pressed ${name} \n Key code Value: ${code}`);
        }
      }, false);
      // Add event listener on keyup
      document.addEventListener('keyup', (event) => {
        var name = event.key;
        if (name === 'Control') {
           location.replace(classroom.google.com)
        }
      }, false);
    

    当我按下控制键时,什么都没发生。如果我让它运行警报,那么警报将成功运行。我需要用窗户吗。位置函数?

    1 回复  |  直到 3 年前
        1
  •  0
  •   Arnav Thorat natanavra    3 年前

    你的代码的问题是你没有通过 string location.replace() .


    现在,你的代码是这样的。

    location.replace(classroom.google.com);
    

    这段代码的问题在于,您没有用引号将其括起来,使其成为 一串 ,所以JavaScript认为您引用的是一个对象的属性,一个对象的属性。

    下面是JavaScript认为正在发生的事情。

    const classroom = {
      google: {
        com: undefined,
      }
    };
    
    console.log(classroom.google.com); // undefined

    要修复它,只需将参数用引号括起来即可。

    location.replace("classroom.google.com");
    

    这将成功地将您重定向到 classroom.google.com