Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何解决打字错误_Javascript - Fatal编程技术网

Javascript 如何解决打字错误

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

未捕获的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);

将以下所有内容的“元素”更改为“文档”:

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
,然后查看是否得到结果。