IOS禁用键盘标签箭头
IOS disable the keyboard tab arrows
我需要使用JavaScript禁用IOS上的键盘选项卡箭头,甚至是基于web的应用元标签(如果有的话)。
我尝试了几个选项,但是在选择菜单时遇到了问题。
我也不能将所有的tabindex都恢复为-1,因为这会损害桌面和其他设备上的tab功能。
如有任何帮助,不胜感激。
这是我为字段跳转到只读所做的一个例子。
$(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。
$(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');
}
});
这是一个不能通过设置html属性,元标签或监听特殊事件(没有这些箭头的事件…)来解决的问题。
唯一的选择是当一个输入被聚焦时禁用表单中的所有其他输入,这样就没有可以制表符的输入了。
与其写这段代码并重新发明轮子,这里有一个链接到一个jquery模块,它已经做到了:https://github.com/ChrisWren/touch-input-nav
如果你想要一个纯js的解决方案,看看:https://github.com/ChrisWren/touch-input-nav/blob/master/touch-input-nav.js没有那么多代码需要重写,所以这应该不是问题。
相关文章:
- 在<页眉>标签
- Ckeditor-plugin:插入虚假元素add不情愿<p>标签前后
- iframe正在添加标签,需要删除它们
- 如何自动调整标签的高度以适应内容
- Jquery标签插件粘贴问题
- Twitter引导程序Typeahead-Id&标签
- Highcharts-如何在自定义格式化程序中获得默认的y轴标签格式化程序
- Morris.js折线图x轴标签在调整大小后消失
- JavaScript goto 标签如何使用内部循环
- 显示某个用户ID的某个标签的30张Instagram图片
- 标签客户端的设置值
- 谷歌图表显示所有标签
- 如何在图片和边缘之间居中设置标签
- 安卓键盘未打开绑定到触摸启动的输入标签
- 如何使未显示的输入或其标签“键盘选项卡可停止”
- 为什么React会用最后一个键盘输入预先填充输入标签
- 我想提交一个表格(没有<表格>标签),当我按键盘上的回车键时
- 如何调整这个jquery键盘导航以允许其他标签和键盘功能
- IOS禁用键盘标签箭头
- 标签的虚拟键盘