3 回答

TA貢獻1805條經驗 獲得超10個贊
事件的名稱不包含前綴on——該前綴僅在相應的屬性名稱中使用。
另外,如果使用類方法作為回調函數,則需要將其綁定到對象。否則,this方法中將是全局window對象,而不是Validationator對象。
class Validationator
{
constructor()
{
this.initValidation()
}
initValidation()
{
window.addEventListener("load", this.PerformOnLoad.bind(this), false);
}
PerformOnLoad()
{
var form = document.querySelector("#feedbackcontainer");
form.addEventListener("submit", this.SubmitClicked.bind(this));
}
SubmitClicked()
{
alert("asdf");
}
}

TA貢獻2065條經驗 獲得超14個贊
form.addEventListener("onsubmit", this.SubmitClicked);
onsubmit 是錯誤的,正確的是form.addEventListener("submit", this.SubmitClicked);
還有其他代碼嗎?

TA貢獻2051條經驗 獲得超10個贊
在PerformOnLoad()函數中不能有onsubmit事件,它只是submit。
此外,您需要bind在調用PerformOnLoad()和SubmitClicked()方法時使用。在這種情況下,最終的代碼將是這樣的,
class Validationator
{
constructor()
{
this.initValidation()
}
initValidation()
{
window.addEventListener("load", this.PerformOnLoad.bind(this), false);
}
PerformOnLoad()
{
var form = document.querySelector("#feedbackcontainer");
form.addEventListener("submit", this.SubmitClicked.bind(this));
}
SubmitClicked()
{
alert("asdf");
}
}
- 3 回答
- 0 關注
- 135 瀏覽
添加回答
舉報