Предотвращение появления клавиатуры на фокусе текстового поля / щелчке в веб-приложениях iPad - PullRequest
10 голосов
/ 23 сентября 2010

Я пытаюсь создать пользовательскую клавиатуру в приложении для iPad. Но каждый раз, когда ввод получает фокус, появляется клавиатура iPad. Как я могу предотвратить это, в JavaScript.

Ответы [ 7 ]

13 голосов
/ 06 марта 2012

добавьте атрибут «только для чтения» к вашему вводу и предоставьте другое средство для заполнения значения.

1 голос
/ 12 июля 2011

Лучше всего остановить событие на событии onclick.
html:

<textarea onclick='myOnClickEvent'></textarea>

Javascript:

function myOnClickEvent(e){
e.stopPropagation();
}

Додзё:

function myOnClickEvent(e){
dojo.stopEvent(e);
}

Сенча:

function myOnClickEvent(e){
e.stopEvent();
}

Надеюсь, это поможет.

1 голос
/ 21 мая 2011

position и absolute div с z-index:1 поверх поля ввода текста и прикрепите обработчик onclick к div, который запускает клавиатуру.

Следующим шагом будет добавление чисел клавиатуры, чтобы повлиять на значение текстового поля.

1 голос
/ 05 января 2011

Не думаю, что вы можете предотвратить появление клавиатуры в полях ввода.Однако вы можете создать 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>

Для разработки Web вам следует оформить Sencha Touch Приложения для устройств iOS.

0 голосов
/ 06 октября 2018

У нас были точно такие же проблемы, поэтому мы использовали следующий код. Это сработало

<input type="text" onclick="openAlphaNumKeyboard(this)" onfocus="blur()" id="test-input" />
0 голосов
/ 08 мая 2012

Между прочим, вы также можете вызвать blur () на входе, чтобы скрыть клавиатуру ... хотя, вероятно, не очень хорошее решение в этой ситуации.

0 голосов
/ 17 марта 2011

Вы должны проверить safari sdk , есть несколько дополнительных типов ввода, доступных с мобильным safari / html5.

В противном случае вы можете ввести div / span, чтобы они выглядели как вход ивспомогательное скрытое поле, затем, когда оно щелкает, вызывает ваш пользовательский div и т. д. и помещает значения во «ввод», основываясь на действиях пользователей.

Конечно, вы сделаете это с прогрессивным улучшением и отобразите это какнормальное текстовое поле, затем при загрузке страницы поменяйте местами обычный текстовый ввод для скрытого поля / div / span и т. д.

...