Javascript 如何解决打字错误
未捕获的TypeError:无法读取null的属性“addEventListener” 在SpinBox.addEvent(spinbox3.js:28) 在新的SpinBox上(spinbox3.js:9) 在spinbox3.js:68 我个人在研究发展。 我试图创建一个类并引用该方法。 但这个问题继续出现,无法解决。 我不知道错误作为未定义函数重复出现或无法读取属性时会出现什么问题Javascript 如何解决打字错误,javascript,Javascript,未捕获的TypeError:无法读取null的属性“addEventListener” 在SpinBox.addEvent(spinbox3.js:28) 在新的SpinBox上(spinbox3.js:9) 在spinbox3.js:68 我个人在研究发展。 我试图创建一个类并引用该方法。 但这个问题继续出现,无法解决。 我不知道错误作为未定义函数重复出现或无法读取属性时会出现什么问题 class SpinBox{ constructor(element, value, min, max
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);
将以下所有内容的“元素”更改为“文档”:
this.upButton = element.querySelector('.plus-button');
this.dwButton = element.querySelector('.minus-button');
this.textInput = element.querySelector('.text-box');
您正在尝试在文档或窗口中搜索元素 将以下所有内容的“元素”更改为“文档”:
this.upButton = element.querySelector('.plus-button');
this.dwButton = element.querySelector('.minus-button');
this.textInput = element.querySelector('.text-box');
您正在尝试在文档或窗口中搜索元素 我建议您阅读此脚本的文档,因为您似乎没有正确初始化属性,而且您提供的信息很少,无法进一步帮助您。@jeff什么文档?这是OP的代码。似乎
此.upButton
未定义,因此可能需要检查元素.querySelector('.plus button')
返回一个值,或者类plus按钮实际存在。请提供一个值。在init
方法中的一个或多个querySelector
找不到有效的DOM节点。请记住,当您像这样使用元素时,它意味着它只搜索嵌套在document.getElementById('spinbox-01')
中的html元素。尝试执行document.querySelector(“.plus按钮”)
而不是使用元素
并查看是否有结果。我建议您阅读此脚本的文档,因为您似乎没有正确初始化属性,而且您提供的信息很少,无法进一步帮助您。@jeff什么文档?这是OP的代码。似乎此.upButton
未定义,因此可能需要检查元素.querySelector('.plus button')
返回一个值,或者类plus按钮实际存在。请提供一个值。在init
方法中的一个或多个querySelector
找不到有效的DOM节点。请记住,当您像这样使用元素时,它意味着它只搜索嵌套在document.getElementById('spinbox-01')
中的html元素。尝试执行document.querySelector('.plus按钮')
而不是使用element
,然后查看是否得到结果。