2016-09-23 3 views
13

Мне нужно отключить стрелки клавиатуры на IOS с помощью JavaScript или даже метатег приложения на веб-сайте, если таковой имеется.IOS отключить стрелку клавиатуры стрелки

Я попробовал несколько вариантов, но столкнулся с проблемами, когда дело доходит до выбора меню.

Я также не могу вернуть все tabindex в -1, поскольку это наносит ущерб вкладке на рабочем столе и других устройствах.

Любая помощь будет оценена по достоинству.

Это пример того, что я сделал для полей, прыгающих на чтение.

$(document).ready(function() { 
 

 
    $('input, textarea, select').on('focus', function() { 
 
    $('input, textarea').not(this).attr('readonly', 'readonly'); 
 
    $('select').not(this).attr("disabled", "disabled"); 
 
    }); 
 

 
    $('input, textarea, select').on('blur', function() { 
 
    $('input, textarea').removeAttr("readonly"); 
 
    $('select').removeAttr("disabled"); 
 
    }); 
 

 
});

+0

Есть ли у вас проблемы с этим в мобильном сафари? – pedrouan

+0

@pedrouan Да мат. – DCdaz

ответ

7

Я действительно нашел способ сделать это, что работает довольно давно.

Что я делаю, это обнаружение только устройств IOS, а затем отключение табуляции к полям ввода.

Я полагаю, я мог бы пойти дальше и обнаружить IOS и сафари.

$(document).ready(function() { 
 
    // Detect IOS 
 
    if (navigator.userAgent.match(/(iPod|iPhone|iPad)/)) { 
 

 
    // Only active input fields in use 
 
    $('input, textarea').on('focus', function() { 
 
     $('input, textarea').not(this).attr("readonly", "readonly"); 
 
    }); 
 
    $('input, textarea').on('blur', function() { 
 
     $('input, textarea').removeAttr("readonly"); 
 
    }); 
 

 
    // Disable tabing to select box's 
 
    $('select').attr('tabindex', '-1'); 
 
    } 
 
});

1

Это вопрос, который не может быть решена путем установки атрибута HTML, мета-тег или прослушивание специальных событий (нет событий для этих стрел ...).

Единственный вариант - отключить все другие входы в форме, когда вход сфокусирован, чтобы входной сигнал не вводился.

Вместо того, чтобы писать этот код и изобретать колесо, вот ссылка на модуль Jquery, который уже делает это: https://github.com/ChrisWren/touch-input-nav

Если вы хотите чистый JS решение, посмотрите на: https://github.com/ChrisWren/touch-input-nav/blob/master/touch-input-nav.js нет это много кода, который требует перезаписи, поэтому это не должно быть проблемой.

+0

То есть, чтобы запретить табуляцию в другие формы, а не вводить поля. – DCdaz

+0

@DCdaz, ах, мой плохой, рад видеть, что вам удалось найти обходное решение yoursel: D К сожалению, нет официального api для сенсорных клавиатур:/ – seahorsepip

+0

Спасибо, спасибо за сообщение. – DCdaz

Смежные вопросы