我试图从导入的类中调用createInput(),但是,从该类中我无法访问input.style(),并且dom元素变得无响应(无法单击它)。
我想这是一种范围问题,因为在与我的画布工作相同的级别上调用createInput()是没有问题的。
从我的画布组件中:
s.setup = () => {
...
search = new Search(s.width/2, s.height/3, 500, 1, world, s);
...
}
s.draw = () => {
...
search.show(s)
...
}
我的搜索模型:
export class Search {
...
show(p5) {
p5.push();
search = p5.createInput().addClass('search');
search.position(pos.x, pos.y);
search.style('width', this.width + 'px');
search.style('height', this.height + 'px');
p5.pop();
}
}
为了澄清,
search = s.createInput().addClass('search');
search.position(s.width/2-250, s.height/3);
search.style('width', '500px');
search.style('height', '40px');
可以直接从画布组件调用正常工作。