猿问

单击按钮时不执行功能

我有一个按钮,我希望它在单击它时执行一个功能,但由于某种原因它根本不起作用。我认为我将按钮链接到 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”关键字有关


神不在的星期二
浏览 125回答 4
4回答

拉风的咖菲猫

这是不正确的:addEventListener('click',&nbsp;loginToSpotify());您可以:addEventListener('click',&nbsp;loginToSpotify);或者:addEventListener('click',&nbsp;function()&nbsp;{&nbsp;loginToSpotify()&nbsp;});

慕容森

require 未定义,并且您不想在设置侦听器时执行您的函数。const loginButton = document.getElementById("login").addEventListener('click', loginToSpotify);//const request = require("request");function loginToSpotify(){&nbsp; &nbsp;console.log("Here");}&nbsp; &nbsp;<head>&nbsp; &nbsp; &nbsp; <script src = "spotifybot.js" charset = "utf-8"></script>&nbsp; &nbsp; &nbsp; <title>Spotify Login</title>&nbsp; &nbsp;</head>&nbsp; &nbsp;<body>&nbsp; &nbsp; &nbsp; <button id = "login" style = "width: 100px;height: 100px">Login To Spotify</button>&nbsp; &nbsp;</body>

白猪掌柜的

更改这一行:const&nbsp;loginButton&nbsp;=&nbsp;document.getElementById("login").addEventListener('click',&nbsp;loginToSpotify());到:const&nbsp;loginButton&nbsp;=&nbsp;document.getElementById("login").addEventListener('click',&nbsp;loginToSpotify);因为您需要给它一个回调函数的引用,而不是默认情况下未定义的调用它的返回值。我看到你正在使用 require,它是一个 Electron JS 应用程序吗,编码愉快:)

白板的微信

的第二个参数.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);
随时随地看视频慕课网APP

相关分类

Html5
我要回答