我想从一个Javascript类创建一个处理程序“单击”,并将其附加到一个简单的按钮上。
我创建了一个简单的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" />
我的错误在哪里?
答案 0 :(得分:2)
您不应该在这里打电话给您
$("input.showAlert").bind("click", this._showAlert());
只需将链接传递给此方法即可:
$("input.showAlert").bind("click", this._showAlert);
答案 1 :(得分:1)
通过编写this._showAlert()
,您立即调用该函数,尝试使用this._showAlert