Подтвердить что ты не робот

Откройте клавиатуру iPad через JavaScript в нетекстовом поле?

У меня есть div, который действует как текстовое поле через какой-нибудь умный javascript. Да, это пахнет, но это код поставщика, который я не могу изменить: (

На iPad клавиатура не отображается, потому что это не текстовое поле. Есть ли способ заставить открыть клавиатуру через javascript или украсить HTML чем-то, что сообщает Safari "Да, это действительно текстовое поле, просто поверьте мне!"?

4b9b3361

Ответ 1

По моему опыту нет возможности поднять iPad или iPhone через Javascript. Я закончил использовать обходной путь, который может быть полезен.

Я просто помещаю текстовое поле с его непрозрачностью, равным 0 по рассматриваемому div. Затем я обновляю div с содержимым текстового поля при изменении.

так (с помощью jQuery)

$('textarea').bind('input', function(e){
    var changedVal = $( e.currentTarget ).val();
    $('div').html( changedVal );    
});

// The input event is not a cross browser solution, use a combination of 
// keyboard and mouse events to correctly respond to any changes in the textarea

Если ваш код поставщика полагается на прослушиватели событий клавиатуры или мыши, чтобы сделать это волшебство, вы можете проксировать все типы событий на div ниже.

Что-то вроде этого (используя jQuery)

$('textarea').bind('keyup keydown keypress mouseup mousedown click', function(e) {
    e.currentTarget = $('div').get(0);
    $('div').trigger(e);
});