Мне интересно, есть ли какой-либо способ получить вход от пользователя, желательно, чтобы texbox (или где-нибудь, когда пользователь мог видеть, что он пишет) в элементе canvas через javascript.Форма ввода внутри элемента canvas
ответ
Поместите текстовое поле поверх элемента холста, используя абсолютное позиционирование.
мой Рекомендованное макет что-то вроде:
<div style="position:relative;width:800px;height:800px">
<canvas width="800" height="800"></canvas>
<input type="text" style="position:absolute;left:100px;top:300px;width:600px; etc...." />
</div>
с этим вы относительный расположены <div>
базировать, где ваш будет совать вещи снова, я бы, вероятно, добавить модальный фон ...
Надеюсь, что это поможет -ck
Вопрос немного устарел, но я хотел предоставить альтернативу абсолютному позиционированию. Вы можете установить фоновое изображение (предположительно, чтобы div больше вашего текстового поля). Вот пример:
HTML:
...<canvas id="canvas"></canvas> <div id="backDrop">...[your textbox]</div>...
Javascript:
$('#backDrop').css('background-image', 'url(' + document.getElementById('canvas').toDataURL() + ')');
Вот jsfiddle в качестве примера.
Как отмечено в here, это делает снимок холста в момент, когда вы устанавливаете свойство background-image. Любые изменения, сделанные вами на холсте после установки фонового изображения, не будут отображаться (если вы не переустановите его), но это, вероятно, то, что вы хотите в большинстве случаев.
Вы также можете попробовать его со следующим:
<div style="margin:0px;padding:0px;position:absolute;width:[amount by programmer];height:[amount by programmer];border-style:solid;border-color:[if wanted];">
<canvas style="width:700px;height:700px;"></canvas>
<input type="text" style="position:absolute;width:[amount by programmer];height:[amount by programmer];"/></div>
Существует библиотека ввода холст. Он не использует никаких элементов DOM, а строится исключительно на холсте. Вы можете узнать больше об этом и загрузить его на номер http://goldfirestudios.com/blog/108/CanvasInput-HTML5-Canvas-Text-Input. Это с открытым исходным кодом.
Фактически, он использует скрытый элемент ввода DOM. –
- 1. Код вложенности внутри элемента ввода
- 2. SEO для содержимого внутри элемента canvas
- 3. Как использовать содержимое html внутри элемента canvas
- 4. put iframe внутри элемента canvas в HTML5
- 5. Скрытие текста внутри элемента ввода
- 6. Форма ввода ввода Django
- 7. Форма ввода HTML5 Форма ввода: Проверка ввода
- 8. Удалить изображение элемента canvas
- 9. HTML Canvas внутри html canvas
- 10. AngularJS: Форма ввода не работает внутри частичной
- 11. Форма внутри Форма альтернативная
- 12. Форма ввода данных ввода
- 13. Форма ввода ввода bootstrap
- 14. Элемент/форма холста Resize canvas
- 15. JavaScript, форма, canvas, draw triangle
- 16. Ошибка ввода входного элемента Bootstrap внутри формы
- 17. Получение значения элемента ввода внутри TR таблицы
- 18. jQuery и обработка внутри одного и того же элемента Canvas?
- 19. Форма ввода тегов Bind ввода TextBox внутри Div порождена $ форма-> вход() + CakePHP
- 20. WPF - Clipping ContentControl внутри Canvas
- 21. TextCentering внутри Canvas PlayN
- 22. центр изображения внутри Canvas
- 23. Canvas внутри таблицы
- 24. Динамическая форма ввода php
- 25. Как просмотреть исходный код элемента canvas
- 26. HTML CANVAS для ввода файла
- 27. Добавление элемента Canvas в DOM
- 28. сделать изображение из Canvas элемента
- 29. Использование элемента canvas в HTML5
- 30. Просмотреть исходный код элемента canvas
Спасибо, еще не пробовал, но похоже, что это, вероятно, сработает. Как мне пойти, чтобы получить введенный текст дальше? – HolyThunder
через JavaScript? вы получили бы доступ к нему через его свойство '.value' – ckozl
Спасибо, я относительно новичок в JS. – HolyThunder