我有一个函数可以检查用户名。当按Enter键时,用户名被调用到localstorage,然后我想让eventListener停止。由于某种原因,它不起作用,我不明白为什么!删除EventListener无法正常工作 - Javascript
var checkUserName = function(event) {
let key = event.which || event.keyCode;
if (key === 13) {
if (this.usernameInput.value.length <= 0) {
throw new Error("Username to short!")
} else if (/\s/g.test(this.usernameInput.value)) {
throw new Error("No white spaces, please!")
} else if (this.usernameInput.value.length > 30) {
throw new Error("Username to long!")
} else {
localStorage.setItem("username", JSON.stringify(this.usernameInput.value));
this.usernameInput.value = "";
}
}
}.bind(this);
window.addEventListener("keypress", initiate => checkUserName(event));
window.removeEventListener("keypress", initiate => checkUserName(event));
任何想法?
你也固定运算的代码将是'undefined' – pwolaq