4 回答
TA贡献1995条经验 获得超2个赞
这是不正确的:
addEventListener('click', loginToSpotify());
您可以:
addEventListener('click', loginToSpotify);
或者:
addEventListener('click', function() { loginToSpotify() });
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>
TA贡献1893条经验 获得超10个赞
更改这一行:
const loginButton = document.getElementById("login").addEventListener('click', loginToSpotify());
到:
const loginButton = document.getElementById("login").addEventListener('click', loginToSpotify);
因为您需要给它一个回调函数的引用,而不是默认情况下未定义的调用它的返回值。
我看到你正在使用 require,它是一个 Electron JS 应用程序吗,编码愉快:)
TA贡献1883条经验 获得超3个赞
的第二个参数.addEventListener()
应该是一个函数。
您正在调用该loginToSpotify()
函数,该函数返回undefined
. 所以,你传递的是undefined
而不是实际的函数。
你必须改变这个:
.addEventListener('click', loginToSpotify());
对此:
.addEventListener('click', loginToSpotify);
顺便说一句,.addEventListener()
不返回任何内容(即返回undefined
),所以你的loginButton
now 的值为undefined
。
您可以这样做:
document.getElementById('login').addEventListener('click', loginToSpotify);
或者,如果您还想存储按钮:
const loginButton = document.getElementById('login'); loginButton.addEventListener('click', loginToSpotify);
- 4 回答
- 0 关注
- 124 浏览
添加回答
举报