亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

單擊按鈕時如何將按鈕的值傳遞給函數

單擊按鈕時如何將按鈕的值傳遞給函數

Qyouu 2022-10-21 09:29:32
所以我正在嘗試為我的一個班級創建一個測驗。我創建了一組對象來保存我的問題、答案以及正確答案是什么。我正在使用 forEach 為指定索引處的每個“答案”選項生成按鈕。我添加了 onClick 事件以嘗試將按鈕的值傳遞給函數,但我似乎無法弄清楚執行此操作的最佳方法是什么。我在下面包含了一些代碼,希望能有所幫助。var answers = quiz[index].answers;answers.forEach(function(element) {    var optionButton = document.createElement("button");    optionButton.innerHTML = element;    optionButton.className = "btn";    optionButton.setAttribute("option-answer", element)    optionButton.setAttribute("onClick", "verifyAnswer()")    questionTitle.appendChild(optionButton);})
查看完整描述

4 回答

?
臨摹微笑

TA貢獻1982條經驗 獲得超2個贊

只需在函數調用中傳遞參數。這里我使用箭頭函數:

optionButton.addEventListener("click", () => {verifyAnswer(element)})


查看完整回答
反對 回復 2022-10-21
?
呼喚遠方

TA貢獻1856條經驗 獲得超11個贊

您可以使用數據集添加信息,然后在 EventListener 中恢復它


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>

或者,如果您的答案數據與 de 按鈕內的文本相同,您也可以使用它


function verifyWithText(event){

    clickedElement = event.target || event.srcElement;

    alert(clickedElement.innerHTML);

}

希望能幫助到你


查看完整回答
反對 回復 2022-10-21
?
小唯快跑啊

TA貢獻1863條經驗 獲得超2個贊

您可以使用事件偵聽器在單擊按鈕時執行其他操作,而不是創建 onClick 屬性:


optionButton.addEventListener("click", function(){

   verifyAnswer(currentIndex);

}); 


查看完整回答
反對 回復 2022-10-21
?
慕尼黑5688855

TA貢獻1848條經驗 獲得超2個贊

data-在創建按鈕時,您可以通過屬性或直接在函數調用中跟蹤答案索引。


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);

})

然后,在您的函數調用中,您可以使用簡單的訪問器檢索答案。


function verifyAnswer(index) {

    const answer = answers[index]

    /* ... */

}


查看完整回答
反對 回復 2022-10-21
  • 4 回答
  • 0 關注
  • 161 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號