[英]Find object from dom element on event
我創建了一個對象的一些實例。 對象中的一個函數創建一個li
元素,並使用addEventListener("click", this, false)
。 當事件處理程序運行時,它可以顯示對象實例變量等。因此,基本上我知道它訪問對象的正確實例並運行事件處理程序。
因此,有一種方法可以從dom元素追溯到創建它的對象的實例。 在這種情況下, this
就是提供鏈接的原因。
我想做的是通過選擇器或id獲取元素。 然后以某種方式獲取對象的實例。 找出什么this
為元素(不是指的DOM元素為this
)我想到一個解決方法是創建一個自定義事件,並返回對象本身在處理函數。 然后獲取元素並像myElement.click()
一樣運行它。
有一個更好的方法嗎?
這是基本的風味,利用this
:
const obj = {
name: "my object",
listen() {
someElement.addEventListener('click', this.listener.bind(this));
};
listener(event) {
console.log("The event and this name are", event, this.name);
}
};
您還可以使用handleEvent
方法:
const obj = {
name: "my object",
handleEvent() { console.log("I was clicked!", this.name); },
listen() {
someElement.addEventListener('click', this);
}
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.