#javascript #aframe
Вопрос:
Я использую супер-клавиатуру aframe и пытаюсь получить с нее вводимый текст. Я использовал это: https://github.com/supermedium/aframe-super-keyboard/issues/18, но событие не запускается, когда я нажимаю Enter.
Я также поставил MultipleInputs: true, но когда я нажимаю enter, клавиатура закрывается даже при этом.
Это мой html:
<a-entity id="hand" hand-controls="hand: right"></a-entity>
<a-entity id="keyboard" super-keyboard="hand: #hand; imagePath: ./textures/; multipleInputs: true;" my-keyboard position="0 1.076 -0.5" rotation="-30 0 0"></a-entity>
И это мой сценарий:
AFRAME.registerComponent('my-keyboard', {
init: function(){
this.el.addEventListener('superkeyboardinput', function(event) {
console.log(event.value);
alert(event.value); // the text
});
}
});
Я также видел здесь (https://github.com/supermedium/aframe-super-keyboard/blob/master/dist/aframe-super-keyboard.js) в коде есть кнопка «Ввод» и еще одна кнопка «Вставить». В чем разница? Я не понимаю, какой из них «Вставить».
Комментарии:
1. Лучше всего не просто ссылаться на источники, задавая вопросы. Например, ваша первая ссылка уже указывает на страницу 404. Постарайтесь поместить всю соответствующую информацию непосредственно в свой пост.
2. Я отредактировал ссылку с помощью той, которая, я надеюсь, не исчезнет; в любом случае, то, что находится в этой ссылке, — это именно мой код ниже; Я просто хотел показать, что нашел ее в качестве ответа и использовал, но это не сработало.
Ответ №1:
Я нашел решение:
Основная проблема заключается в том, что в документации версия для скрипта 1.0.0:
<script src="https://unpkg.com/aframe-super-keyboard@1.0.0/dist/aframe-super-keyboard.min.js"></script>
Это должно быть заменено на 2.1.0. Тогда это не будет работать с
hand-controls
, но будет работать с laser-controls
.