如何更改 addEventListener 中的函式。
//how do I turn this
button.addEventListener('click', test)
//into this
button.addEventListener('click', test2)
我可以使用 js 庫。我有一個想法,我可以使用 removeEventListener 然后添加另一個事件偵聽器,但我不知道如何在 javascript 中添加 eventListener。
uj5u.com熱心網友回復:
要在按鈕上切換 EventListeners,您將完全按照您的建議進行操作
button.addEventListener("click", test)
button.removeEventListener("click", test)
button.addEventListener("click, test2)
EventListener 本質上是兩件事之一。
- 接受事件物件作為輸入引數的函式。
- 具有handleEvent 函式的物件,該函式接受事件物件作為輸入引數。
要使 test2 成為 EventListener,它只需要成為這兩件事之一。
選項 1:作為函式
function test2(event) {
console.log(event)
}
button.addEventListener("click", test2)
選項2:作為具有handleEvent函式的物件
const test2 = {
"handleEvent": (event) => {
console.log(event)
}
}
button.addEventListener("click", test2)
可以在這里找到支持這一點的檔案:
https://developer.mozilla.org/en-US/docs/Web/API/EventListener
uj5u.com熱心網友回復:
這可以通過委托來完成,只需將每次函式分配給一個變數,然后從回呼中呼叫該變數,如下所示:
let fn = () => {
alert('1');
fn = () => alert('2');
};
button.addEventListener('click', function () {
fn.apply(this, arguments);
});
<button id="button">OK</button>
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/453038.html
標籤:javascript 功能 添加事件监听器
上一篇:如何創建一個變數,該變數指向一個帶有來自另一個變數的物件的字串?我是一個新手,我正在做ColtSteeles網路開發訓練營