[英]How can I find the origin of a Javascript event which was fired programmatically?
[英]Javascript - How do I pick up which element fired an event
使用來自 W3schools 的示例代碼,我試圖設置一個事件處理程序,當表單中的多個“輸入”元素中的任何一個發生更改時,該事件處理程序將觸發。 經過多次嘗試,我有以下幾點:
var s = document.getElementById("add_data"); document.getElementById("add_data").addEventListener("change", function() { field_check(p1, p2); });
位於 HTML 的末尾,並在創建表單之后。
(add_data 是包含許多“輸入”元素作為子元素的表單的名稱。我想要的是接收 name 參數據我所知,p1 和 p2 應該包含事件和觸發事件的字段的名稱。相反,我從事件處理程序中收到了一個參考錯誤,“p1 未定義”。在搜索中,我發現了許多令人費解的解決方案,其中一些我不明白,但沒有一個能真正解決我的問題。我是什么做錯了嗎?
你的意思是做
var s = document.getElementById("add_data");
s.addEventListener("change", function(event) {
field_check(event, event.target.name);
});
甚至更簡單
document.getElementById("add_data").addEventListener("change", field_check);
並且有
function field_check(event) {
console.log(event.target.name);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.