簡體   English   中英

在事件中從dom元素中找到對象

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM