Я пытаюсь вызвать 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');
отлично работает, вызывается непосредственно из компонента canvas.