不明白为什么我的addEventListener不起作用

Don't understand why my addEventListener don't work

提问人:eric2023 提问时间:6/9/2023 最后编辑:Barmareric2023 更新时间:6/9/2023 访问量:30

问:

亲爱的

我是编程新手,以下是我的程序:

const p = document.querySelector('p');

class Bee {
  static welcome_tips() {
    return 'Welcome to here';
  }

  static welcome() {
    p.innerHTML = this.welcome_tips();
  }
};

p.addEventListener('click', () => {
  Bee.welcome();
});
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>static method practice</title>
</head>

<body>
  <p></p>
</body>

</html>

我的想法是,当有人在 HTML 中单击时,将显示“欢迎来到这里”的声明。出于某种原因,我希望将以下两个静态方法包含在我的程序中。但是,当我单击 HTML 时,它什么也没显示。我发现当我只使用 Bee.welcome() 时,会自动显示“欢迎来到这里”语句。你能告诉我我哪里做错了吗?谢谢。<p>

JavaScript 方法 static addeventlistener

评论

3赞 Barmar 6/9/2023
是空的,没有什么可点击的。<p>
0赞 Barmar 6/9/2023
如果我将其更改为 ,当我单击它时它会起作用。<p>Click here</p>
0赞 eric2023 6/9/2023
那么如何纠正呢?
3赞 Barmar 6/9/2023
没有空白的 <p> 区域。如果它是空的,则不占用空间。你不能什么都不点击。也许你想把事件侦听器放在窗口上,而不是?p
4赞 Barmar 6/9/2023
然后用 代替 .window.addEventListenerp.addEventListener

答: 暂无答案