第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

如何在 EventListener 內(nèi)部的函數(shù)中添加參數(shù)?

如何在 EventListener 內(nèi)部的函數(shù)中添加參數(shù)?

幕布斯7119047 2022-06-16 17:14:00
我的想法是用 vanila JS 編寫一個計算器,但我遇到了一個問題。我想通過綁定鍵來解決它,并分別為它們中的每一個添加事件監(jiān)聽器。為了不重復(fù)我的代碼,我想創(chuàng)建一個可以做所有事情的函數(shù),我只添加一個鍵號作為參數(shù)。當(dāng)我運行代碼時,它會立即觸發(fā)該函數(shù),而無需單擊 "number two" 。我知道,問題出在“點擊”,getInput(二),我想讓這個功能工作。有任何想法嗎?let input = document.getElementById("input").innerHTML;const plus = document.querySelector(".plus");const minus = document.querySelector(".minus");const one = document.querySelector(".one");const two = document.querySelector(".two");const three = document.querySelector(".three");const four = document.querySelector(".four");const five = document.querySelector(".five");const six = document.querySelector(".six");const seven = document.querySelector(".seven");const eight = document.querySelector(".eight");const nine = document.querySelector(".nine");const ac = document.querySelector(".ac");function getInput(number){    console.log("i am here");    console.log(number.textContent);    if (input === 0){        input = number.textContent;        document.getElementById("input").innerHTML = input;    }    else{        input += number.textContent;        document.getElementById("input").innerHTML = input;    }}two.addEventListener("click",getInput(two));ac.addEventListener("click",() =>{   input = 0;   console.log(input);   document.getElementById("input").innerHTML = input;})plus.addEventListener("click",() => {    console.log(plus.textContent);    input += plus.textContent;    document.getElementById("input").innerHTML= input;});one.addEventListener("click",()=>{    if (input === 0) {        input = one.textContent;        document.getElementById("input").innerHTML=input;    }    else {    input += one.textContent;    document.getElementById("input").innerHTML=input;    }})第二個問題,有沒有更簡單的方法通過不綁定每個鍵來檢測用戶的輸入?(我是 JS 新手,這對我有很大幫助)
查看完整描述

1 回答

?
白衣非少年

TA貢獻1155條經(jīng)驗 獲得超0個贊

要在事件偵聽器中觸發(fā)帶有參數(shù)的函數(shù),您需要在事件偵聽器中創(chuàng)建一個函數(shù),該函數(shù)使用參數(shù)執(zhí)行您的函數(shù):


btn.addEventListener("click", () => { yourFunction(parameter) });

要統(tǒng)一事件綁定,您可以執(zhí)行以下操作:


const numberBtns = document.querySelectorAll(".number-btns");

numberBtns.forEach( btn => btn.addEventListener(....));

要獲取您按下的數(shù)字,您可以使用數(shù)據(jù)集或參考按鈕的值:


<button data-number="1" class="number-btns" value="1">

// JS:

btn.dataset.number // = 1

btn.value // = 1


查看完整回答
反對 回復(fù) 2022-06-16
  • 1 回答
  • 0 關(guān)注
  • 129 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號