4 回答

TA貢獻(xiàn)1982條經(jīng)驗(yàn) 獲得超2個(gè)贊
只需在函數(shù)調(diào)用中傳遞參數(shù)。這里我使用箭頭函數(shù):
optionButton.addEventListener("click", () => {verifyAnswer(element)})

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超11個(gè)贊
您可以使用數(shù)據(jù)集添加信息,然后在 EventListener 中恢復(fù)它
const answers=["option 1","option 2","option 3"];
answers.forEach(function(element) {
let optionButton = document.createElement("button");
optionButton.innerHTML = element;
optionButton.className = "btn";
//Add data info
optionButton.dataset.answer=element;
optionButton.addEventListener("click", verifyAnswer);
document.getElementById("container").appendChild(optionButton);
})
function verifyAnswer(event){
clickedElement = event.target || event.srcElement;
//getting info in the element
alert(clickedElement.dataset.answer);
}
<div id="container">
</div>
或者,如果您的答案數(shù)據(jù)與 de 按鈕內(nèi)的文本相同,您也可以使用它
function verifyWithText(event){
clickedElement = event.target || event.srcElement;
alert(clickedElement.innerHTML);
}
希望能幫助到你

TA貢獻(xiàn)1863條經(jīng)驗(yàn) 獲得超2個(gè)贊
您可以使用事件偵聽器在單擊按鈕時(shí)執(zhí)行其他操作,而不是創(chuàng)建 onClick 屬性:
optionButton.addEventListener("click", function(){
verifyAnswer(currentIndex);
});

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超2個(gè)贊
data-在創(chuàng)建按鈕時(shí),您可以通過屬性或直接在函數(shù)調(diào)用中跟蹤答案索引。
var answers = quiz[index].answers;
answers.forEach(function(element, currentIndex) {
var optionButton = document.createElement("button");
optionButton.innerHTML = element;
optionButton.className = "btn";
optionButton.setAttribute("option-answer", element)
optionButton.setAttribute("onClick", "verifyAnswer(" + currentIndex + ")")
questionTitle.appendChild(optionButton);
})
然后,在您的函數(shù)調(diào)用中,您可以使用簡(jiǎn)單的訪問器檢索答案。
function verifyAnswer(index) {
const answer = answers[index]
/* ... */
}
添加回答
舉報(bào)