为了账号安全,请及时绑定邮箱和手机立即绑定

单击按钮时不执行功能

单击按钮时不执行功能

神不在的星期二 2023-12-04 19:24:30
我有一个按钮,我希望它在单击它时执行一个功能,但由于某种原因它根本不起作用。我认为我将按钮链接到 js 文件的方式可能存在问题。这是我的 HTML:<!DOCTYPE html><html lang = "en-us"></html>   <head>      <script src = "spotifybot.js" charset = "utf-8"></script>      <title>Spotify Login</title>   </head>   <body>      <button id = "login" style = "width: 100px;height: 100px">Login To Spotify</button>   </body></html>这是我的 js 文件:const loginButton = document.getElementById("login").addEventListener('click', loginToSpotify());const request = require("request");function loginToSpotify(){   console.log("Here");}顺便说一句,这两个文件都位于同一文件夹中,以防您认为这可能是问题所在。编辑:检查浏览器控制台后(我以为我可以检查我的 Visual Studio 控制台,但显然不能),我发现错误与“require”关键字有关
查看完整描述

4 回答

?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

这是不正确的:

addEventListener('click', loginToSpotify());

您可以:

addEventListener('click', loginToSpotify);

或者:

addEventListener('click', function() { loginToSpotify() });


查看完整回答
反对 回复 2023-12-04
?
慕容森

TA贡献1853条经验 获得超18个赞

require 未定义,并且您不想在设置侦听器时执行您的函数。


const loginButton = document.getElementById("login").addEventListener('click', loginToSpotify);

//const request = require("request");


function loginToSpotify()

{

   console.log("Here");

}

   <head>

      <script src = "spotifybot.js" charset = "utf-8"></script>

      <title>Spotify Login</title>

   </head>

   <body>

      <button id = "login" style = "width: 100px;height: 100px">Login To Spotify</button>

   </body>


查看完整回答
反对 回复 2023-12-04
?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

更改这一行:

const loginButton = document.getElementById("login").addEventListener('click', loginToSpotify());

到:

const loginButton = document.getElementById("login").addEventListener('click', loginToSpotify);

因为您需要给它一个回调函数的引用,而不是默认情况下未定义的调用它的返回值。

我看到你正在使用 require,它是一个 Electron JS 应用程序吗,编码愉快:)


查看完整回答
反对 回复 2023-12-04
?
白板的微信

TA贡献1883条经验 获得超3个赞

的第二个参数.addEventListener()应该是一个函数。

您正在调用该loginToSpotify()函数,该函数返回undefined. 所以,你传递的是undefined而不是实际的函数。

你必须改变这个:

.addEventListener('click', loginToSpotify());

对此:

.addEventListener('click', loginToSpotify);

顺便说一句,.addEventListener()不返回任何内容(即返回undefined),所以你的loginButtonnow 的值为undefined

您可以这样做:

document.getElementById('login').addEventListener('click', loginToSpotify);

或者,如果您还想存储按钮:

const loginButton = document.getElementById('login');
loginButton.addEventListener('click', loginToSpotify);


查看完整回答
反对 回复 2023-12-04
  • 4 回答
  • 0 关注
  • 74 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信