如何防止默认内部方法
How to preventDefault inside method
执行提交时,“e”未定义...如何preventDefault
然后execute()
?
我试过“this.execute
”(没有括号),但是变量“form”不可访问。
也试过这个:
this.form.addEventListener("submit", function(e){e.preventDefault(); this.execute();}, false);
但不工作。
class Filters {
form;
constructor(form) {
this.form = form;
this.form.addEventListener("submit", this.execute(), false);
}
execute(e) {
e.preventDefault();
[...]
}
}
let f = new Filters([...],[...]);
您需要将事件作为参数传递给执行方法,如下所示。
class Filters {
form;
constructor(form) {
this.form = form;
// Either use an arrow function or this.execute.bind(this)
this.form.addEventListener("submit", e => this.execute(e), false);
}
execute(e) {
e.preventDefault();
[...]
}
}
执行提交时,“e”未定义...如何preventDefault
然后execute()
?
我试过“this.execute
”(没有括号),但是变量“form”不可访问。
也试过这个:
this.form.addEventListener("submit", function(e){e.preventDefault(); this.execute();}, false);
但不工作。
class Filters {
form;
constructor(form) {
this.form = form;
this.form.addEventListener("submit", this.execute(), false);
}
execute(e) {
e.preventDefault();
[...]
}
}
let f = new Filters([...],[...]);
您需要将事件作为参数传递给执行方法,如下所示。
class Filters {
form;
constructor(form) {
this.form = form;
// Either use an arrow function or this.execute.bind(this)
this.form.addEventListener("submit", e => this.execute(e), false);
}
execute(e) {
e.preventDefault();
[...]
}
}