在移动Safari中聚焦于输入字段时,是否可以禁用“下一个”和“上一个”按钮?我一直在尝试设置所有字段为 readonly="readonly"
并在聚焦/失焦时删除/重新应用属性的方法。它对某些字段有效,但并非所有字段都有效。在某些情况下,它感觉有点hacky/buggy。我能否通用地禁用上一个和下一个控件?这是针对iPad Web应用程序的,因此无障碍性不是问题。
在移动Safari中聚焦于输入字段时,是否可以禁用“下一个”和“上一个”按钮?我一直在尝试设置所有字段为 readonly="readonly"
并在聚焦/失焦时删除/重新应用属性的方法。它对某些字段有效,但并非所有字段都有效。在某些情况下,它感觉有点hacky/buggy。我能否通用地禁用上一个和下一个控件?这是针对iPad Web应用程序的,因此无障碍性不是问题。
我目前最好的解决方案(基于Jezen Thomas的解决方案)是在和
我看到这张票是旧的,但上面提出的答案对我来说不起作用,因为 iPhone 在调用焦点事件之前会打开选择选项列表。所以我使用了下面的代码,它对我非常有效。
我的解决方案:
if (navigator.userAgent.toLowerCase().indexOf("iphone") ==-1) {
}else{
$(document).on('touchstart', 'input, select', function() {
$('select, input').not(this).attr('disabled', 'disabled');
}).on('blur', 'input, select', function() {
$('input, select').removeAttr('disabled');
});
}
这是带有 IOS 检测的相同脚本。
<script>
var device = navigator.userAgent.toLowerCase();
var ios = device.match(/OS 7(_\d)+ like Mac OS X/i);
if (ios) {
$(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");
});
});
}
</script>