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

IOS отключить стрелки клавиатуры

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

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

Я также не могу вернуть все 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");
  });

});
4b9b3361

Ответ 1

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

То, что я делаю, это обнаружение только устройств 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');
  }
});

Ответ 2

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

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

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

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