OOP Javascript,将点击处理程序从构造函数附加到按钮并不能按预期工作



我想从Javascript类创建一个处理程序'click',并将其附加到一个简单的按钮上。

我创建了一个简单的Javascript类:

// from ./myclass.js
class Myclass
{
constructor()
{
$("input.showAlert").bind("click", this._showAlert());
}
_showAlert(e){
alert("foo");
}
}
module.exports = {
Myclass
};

从我的主js文件:

// from ./main.js
const { Myclass } = require("./myclass");
var faa = new Myclass();

但如果我这样做,当我通过浏览器加载页面时,警报"foo"会自动出现。我不明白为什么,我不希望警报自动显示,但只有当我点击按钮"input.addButton"时。

我的(非常(简单的html文件:

<input class="showAlert" />

我的错误在哪里?

你不应该把你的薄荷糖称为

$("input.showAlert").bind("click", this._showAlert());

只需将此方法的链接传递为:

$("input.showAlert").bind("click", this._showAlert);

通过编写this._showAlert(),您可以立即调用函数,尝试this._showAlert

最新更新