我試圖在頁面已經呈現后添加一個 onChange 事件偵聽器。
該代碼似乎作業,因為超時結束后,事件觸發一次,但不附加到元素。
const myTimeout = setTimeout(addOnChange, 5000);
function addOnChange(){
let comment_box = document.getElementsByClassName("text-area standard-focus wfFormControl form-control")[0];
console.log(comment_box);
comment_box.addEventListener("change", alert('works!!!'));
}
它找到元素,因為它在控制臺中回傳它,但沒有附加。
這是在事件觸發之后:

uj5u.com熱心網友回復:
似乎問題在于您沒有將回呼傳遞給addEventListener直接函式呼叫。
在的第二個引數上包含一個函式怎么樣addEventListener:
const myTimeout = setTimeout(addOnChange, 5000);
function addOnChange(){
let comment_box = document.getElementsByClassName("text-area standard-focus wfFormControl form-control")[0];
console.log(comment_box);
comment_box.addEventListener("change", () => alert('works!!!'));
}
uj5u.com熱心網友回復:
const myTimeout = setTimeout(addOnChange, 5000);
function addOnChange(){
let comment_box = document.querySelector(".text-area");
console.log(comment_box);
comment_box.addEventListener("change", function(){
alert('works!!!');
});
}
<div class="comments-body">
<textarea class="text-area standard-focus wfFormControl form-control" rows="5" cols="20" area-label="Kommentar"></textarea>
</div>
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/487440.html
標籤:javascript 反应
上一篇:reactjs中看不到分頁數
