Я пытаюсь создать пользовательскую клавиатуру на iPad-приложении. Но каждый раз, когда вход становится в фокусе, появляется встроенная клавиатура iPad. Как я могу предотвратить это, в JavaScript.
Запретить клавиатуре выскакивать в текстовом поле фокус/клик в iPad webapps
Ответ 1
добавить атрибут 'readonly' к вашему вводу и предоставить другое средство для заполнения значения.
Ответ 2
Я не думаю, что вы можете помешать клавиатуре появляться в полях ввода. Однако вы можете создать элемент html, который будет выглядеть как поле ввода с помощью CSS и обработать событие onClick, чтобы отобразить вашу пользовательскую клавиатуру.
<style>
.textField{
width: 120px;
height: 17px;
border-style:inset;
border-width: 2px;
border-color: gray;
float: left;
}
</style>
<script>
function showKeyboard(){
alert("show the my cool keyboard");
}
</script>
Name: <div onClick="showKeyboard()" class="textField"></div>
Вы должны проверить Sencha Touch для разработки веб-приложений для устройств iOS.
Ответ 3
position
a absolute
div
с z-index:1
поверх поля ввода текста и присоедините обработчик onclick
к div
, который запустит клавиатуру.
Следующим шагом будет привязать номера клавиатуры, чтобы повлиять на значение текстового поля.
Ответ 4
Лучше всего остановить событие в событии onclick.
html:
<textarea onclick='myOnClickEvent'></textarea>
Javascript:
function myOnClickEvent(e){
e.stopPropagation();
}
Dojo:
function myOnClickEvent(e){
dojo.stopEvent(e);
}
Сенча:
function myOnClickEvent(e){
e.stopEvent();
}
Я надеюсь, что эта помощь.
Ответ 5
Вы должны проверить safari sdk, есть несколько дополнительных типов ввода, доступных с мобильным сафари /html 5.
В противном случае вы можете стилизовать div/span, чтобы он выглядел как вход, и иметь скрытое скрытое поле, а затем, когда его щелкают, вызывают ваш пользовательский div и т.д. и помещают значения в "enter" на основе действий пользователей.
Конечно, вы сделаете это с прогрессивным улучшением и сделаете это как обычное текстовое поле, а затем при загрузке страницы замените обычный текстовый ввод для скрытого поля /div/span и т.д.
Ответ 6
FYI, вы также можете вызвать blur() на входе, чтобы скрыть клавиатуру... хотя, вероятно, это не очень хорошее решение в этой ситуации.