我正在嘗試制作簡單的游戲“石頭剪刀布”。此時我陷入了改變全域變數值的問題。情況:(例如)單擊=> [Rock]。我必須將其存盤到全域變數(“ playerMove ”)中。
const rock = document.createElement('button');
/*
*/
let playerMove;
playerMove = '';
我已經嘗試
rock.onclick = function() {
playerMove = 'Rock'; // Test in function..
}
但它只在函式中起作用(是的,我們都知道全域變數不能那樣作業......)。我可能很快就能解決這個問題,但此時此刻,我想不出比這更好的了:|,我想幫助找到任何關于此的好資源,以(如何)通過單擊按鈕更改元素的文本內容/值.
對不起,我的英語不好..
uj5u.com熱心網友回復:
可以HTMLButtonElement.addEventListener()用來監聽“點擊”事件,然后為所欲為,一個簡單的demo
const btn = document.getElementById('test');
const container = document.getElementById('val');
btn.addEventListener('click', () => {
container.textContent = 'works'
})
<div id="val">test</div>
<button id="test">click me</button>
uj5u.com熱心網友回復:
要更新 playerMove 變數,您可以使用設定該值的函式。
document.createElement('button');
const rock = document.querySelector('button');
let playerMove = ''
const updateMove = (move) => {
playerMove = move;
}
rock.onclick = () => {
updateMove('Rock');
}
uj5u.com熱心網友回復:
const rock = document.getElementById('button');
console.log(rock)
let playerMove;
playerMove = '';
rock.addEventListener('click',(e)=>{
playerMove =e.target.innerHTML;
console.log(playerMove);
})
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title> Aide</title>
<link rel="stylesheet" href="index.css">
</head>
<body>
<header>
<button id="button">Rock</button>
<script type="text/javascript" src="index.js"></script>
</body>
</html>
強文本
這段代碼完美運行。它需要按鈕包含的文本。我認為您的錯誤是您沒有宣告您創建的 js 按鈕是 body 的子項。
uj5u.com熱心網友回復:
泰哥們
好吧,我將詳細解釋一下 playerMove 在做什么。
playerText.textContent = playerMove;
所以我只是想改變 playerMove 但在我看到AnanthDev回答之后 >>
function playerMove(element, move) {
element.addEventListener('click', () => {
playerText.textContent = move;
})
}
playerMove(rock, 'Rock');
playerMove(scissors, 'Scissors');
playerMove(paper, 'Paper');
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/342956.html
標籤:javascript 功能 点击 全局变量 点击监听器
