如何从其构造函数中定义的HTML中调用类方法?

贝塞德雷斯特
class Hello {
  constructor() {
    this.handleClick = this.handleClick.bind(this);
    this.htmlContent = `<a onclick="this.handleClick">Button</a>`;
  }
  handleClick(e) {
    console.log('world');
  }
}

HTML看起来像:

<div id="main"></div>

“按钮”链接将被添加到页面,如下所示:

const myHello = new Hello();
document.getElementById('main').innerHTML = myHello.htmlContent;

但是,单击“按钮”不会在控制台中记录“世界”。

另外,这些也不起作用:

onclick="()=> this.handleClick()"
onclick="this.handleClick()"

我的猜测是,与这只能完成addEventListenerinnerHTML设置的#main,因为直到那时myHello.htmlContent只是一个字符串?

gurvinder372

你需要做HTMLElement的一部分Hello绑定和事件处理程序,只要innerHTML通过Hello 构造函数

class Hello {
  constructor(ele) {
    this.ele = ele;
    this.handleClick = this.handleClick.bind(this);
    ele.innerHTML = `<a onclick="this.handleClick">Button</a>`;
    ele.querySelector("a").addEventListener( "click", this.handleClick );
  }
  handleClick(e) {
    console.log('world');
  }
}

var ele = document.getElementById('main');
const myHello = new Hello( ele );
<div id="main"></div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

OOP PHP —如何有选择地调用在类的构造函数中定义的特定方法?

从构造函数中调用类方法

如何使用指向函数的指针在基类构造函数中调用派生类的方法?

如何spyOn在构造函数中调用的方法?

如何在构造函数中调用方法?

如何在C ++中从其自己的定义递归调用类成员函数?

如何从Python中的继承类正确调用基类方法(和构造函数)?

如何在C ++中从基类构造函数调用派生类方法?

如何从Flutter中的构造函数调用有状态类中的方法

在python中,如何从mixin类的方法中调用正确的构造函数?

在类方法中调用函数并使用其变量

Java:从超类构造函数中的子类调用的方法

从同一类中的方法调用构造函数

在基类构造函数中调用虚拟方法

在父类和子类的构造函数中调用重写的方法

在大型if / else构造中调用函数/类的好方法

构造函数和抽象类中的java调用方法?

在父类构造函数调用的方法中访问子类字段

C ++:在基类的构造函数中调用重写的方法

从java类中的构造函数调用的模拟静态方法

在类构造函数中找出被调用的方法名称?

Typescript-在构造函数装饰器中调用类方法

Laravel :: 使用构造函数调用辅助类中的方法

构造函数中的调用方法

如何比类中的成员变量更早地调用构造函数?

如何在多级继承中调用基类构造函数?

如何在Scala中从派生类辅助构造函数调用辅助基类构造函数?

我如何在扩展类构造函数中调用抽象类的构造函数

如何创建强制子类调用构造函数中特定方法的抽象适配器类