未捕获的TypeError:无法读取null的属性'addEventListener' 在SpinBox.addEvent(spinbox3.js:28) 在新的SpinBox(spinbox3.js:9) 在spinbox3.js:68
我个人正在研究发展。 我试图建立一个类并引用该方法。 但是问题继续出现,无法解决。 当错误作为未定义的函数重复出现或无法读取属性时,我不知道问题所在。
class SpinBox{
constructor(element, value, min, max) {
this.init(element, value, min, max)
this.addEvent()
}
init(element, val, min, max) {
this.upButton = element.querySelector('.plus-button');
this.dwButton = element.querySelector('.minus-button');
this.textInput = element.querySelector('.text-box');
this.setDefaultValue(val);
this.setMinValue(min);
this.setMaxValue(max);
}
addEvent() {
this.mousedownUpButton = this.mousedownUpButton.bind(this);
this.mousedownDwButton = this.mousedownDwButton.bind(this);
this.mosueupButton = this.mosueupButton.bind(this);
this.focuseoutTextBox = this.focuseoutTextBox.bind(this);
this.upButton.addEventListener('mousedown', this.mousedownUpButton);
this.dwButton.addEventListener('mousedown', this.mousedownDwButton);
this.upButton.addEventListener('mouseup', this.mosueupButton);
this.dwButton.addEventListener('mouseup', this.mosueupButton);
this.textInput.addEventListener('blur', this.focuseoutTextBox);
}
mousedownUpButton(){}
mousedownDwButton(){}
mosueupButton(){}
focuseoutTextBox(){}
...
}
let spinbox01 = new SpinBox(document.getElementById('spinbox-01'), 200, 100, 300);
答案 0 :(得分:0)
将以下所有内容的“元素”更改为“文档”:
this.upButton = element.querySelector('.plus-button');
this.dwButton = element.querySelector('.minus-button');
this.textInput = element.querySelector('.text-box');
您正在尝试在文档或窗口中搜索该元素。