IOS禁用键盘选项卡箭头

2022-04-07 00:00:00 jquery javascript mobile-safari

我需要使用JavaScript禁用iOS上的键盘选项卡箭头,甚至需要禁用基于Web的应用元标记(如果有)。

我尝试了几个选项,但在选择菜单时遇到问题。

我也无法将所有tabindex恢复为-1,因为这会损害桌面和其他设备上的制表符功能。

如有任何帮助,我们将不胜感激。

这是我为跳转到只读字段所做的一个例子。

数据-lang="js"数据-隐藏="假"数据-控制台="真"数据-巴贝尔="假">
$(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");
  });

});


解决方案

我实际上找到了一种非常有效的方法。

我要做的是检测仅iOS设备,然后禁用输入字段的跳转。

我想我可以更进一步,检测iOS和Safari。

数据-lang="js"数据-隐藏="假"数据-控制台="真"数据-巴贝尔="假">
$(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');
  }
});

相关文章