所以我對js很陌生。我試圖制作一個登錄hey控制臺的按鈕,但在單擊按鈕之前它已經記錄了它。當點擊按鈕時,它不會做任何事情。這是我的代碼。
let btn1 = document.getElementById("btn1");
btn1.onclick = console.log('hey');
<!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>Document</title>
</head>
<body>
<input value="test" type="button" id="btn1" data="onclick">
</body>
</html>
uj5u.com熱心網友回復:
這不會像您認為的那樣做:
btn1.onclick = console.log('hey');
這console.log('hey') 立即執行,然后將其結果(即undefined)設定為btn1.onclick;
您想要的是一個分配為點擊處理程式的函式。另外,使用addEventListener而不是分配給onclick. 例如:
let btn1 = document.getElementById("btn1");
btn1.addEventListener('click', () => console.log('hey'));
<input value="test" type="button" id="btn1" data="onclick">
或者,使用更明確的function語法來提高清晰度:
let btn1 = document.getElementById("btn1");
btn1.addEventListener('click', function () {
console.log('hey');
});
<input value="test" type="button" id="btn1" data="onclick">
uj5u.com熱心網友回復:
你必須使用這個:
btn1.onclick = () => console.log('hey');
uj5u.com熱心網友回復:
我希望這會幫助你嘗試這個:
let btn1 = document.getElementById("btn1");
btn1.addEventListener('click', () => console.log('hey'));
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/520408.html
下一篇:<li>元素上的懸停屬性問題
