Select Dropdown在Safari浏览器中的iPhone iOS 14.6版本上不起作用



我使用非常基本的HTML来创建选择下拉列表。像

<select>
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
<option value="4">Four</option>
</select> 

但当我用14.6版本的iPhone运行我的网站时。我无法设置或更改下拉列表的值。是否存在已知问题?更多细节:我使用的是angular 1.x,boostrap,ASP点网。

编辑(2021年8月13日(

这是苹果对错误报告的回应。

工程部提供了有关此问题的以下信息:

请注意,这在iOS 15中是固定的,因为我们更改了<选择>元素。

iOS 15测试版5(19A5318f(https://developer.apple.com/download/


有关日志记录说明的完整列表,请访问:https://developer.apple.com/bug-reporting/profiles-and-logs/

我已经在Xcode模拟器中测试了iOS 15 Beta,这不是问题。因此,随着iOS的下一次发布,这将有望为其他遇到麻烦的人解决。

原始答案

这似乎是最新iOS版本的问题。

我将向苹果提交一个bug,并根据他们的消息更新这个答案。

我们的Angular 1.x应用程序在14.6发布之前一直运行良好,然后iPhone在Chrome和Safari中都出现了问题(Android似乎不受影响,台式机也运行良好。据我们所知,这只是iOS的问题(。当用户从下拉列表中选择一个输入;完成";,它只是在某些时候更新选择。大多数时候,旧选项保持选中状态,但偶尔会用新选项更新。使用向上/向下箭头似乎效果稍好,但有时仍然只能坚持选择。

我可以用下面这个简单的例子来重现这个问题。测试表明,在iOS 14.5或14.6上运行Angular 1.x和某些其他依赖项会导致问题。角度1.x本身不会造成问题。

到目前为止导致问题的已知依赖关系:

Onsen UI版本1.3.17。(2.11.2版本似乎运行良好(。

<!doctype html>
<html ng-app="myApp">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
<script src="https://unpkg.com/onsenui@1.3.17/js/onsenui.min.js"></script>
</head>
<body>
<div ng-controller="BasicCtrl">
<select>
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
<option value="4">Four</option>
<option value="5">Five</option>
</select>
<select ng-model="selectedOpt" ng-options="opt as opt.name for opt in opts">
</select>
<div>{{'{name: ' + selectedOpt.name + ', id: ' + selectedOpt.id + '}'}}</div>
</div>
<script type="text/javascript">
var app = angular.module('myApp', []);
app.config(function() {});
app.controller('BasicCtrl', function ($scope) {
$scope.opts = [
{id: 1, name: "A"},
{id: 2, name: "B"},
{id: 3, name: "C"},
{id: 4, name: "D"},
{id: 5, name: "E"},
{id: 6, name: "F"}
];
});
</script>
</body>
</html>

系统规格:macOS Big Sur 11.4版

型号名称:MacBook Pro

型号标识符:MacBookPro13,3

处理器名称:四核英特尔酷睿i7

处理器速度:2.6 GHz

处理器数量:1个

堆芯总数:4

二级缓存(每个核心(:256 KB

三级缓存:6 MB

超线程技术:启用

内存:16 GB

XCode模拟器:

12.5版(961.1(

模拟器套件609

核心模拟器757.5

iPhone 12 Pro Max

iOS 14.5

在我的index.aspx页面中,我使用的是fastclick.min.js以及document.ready块中代码行的上方。

var attachFastClick = Origami.fastclick;
attachFastClick(document.body);  

因此,基本上我所做的是,从上到下追踪索引文件中的脚本代码,这可能是导致此下拉问题的原因。因此,评论了可能是问题原因的代码行,然后在iOS 14.6设备上测试了safari浏览器。当我在iphone iOS上评论出与快速点击和检查相关的代码时14.6它开始工作。

我不知道为什么在包含fastclick.js的iPhone iOS 14.6 safari浏览器上,drodown不起作用。

我也遇到了类似的问题。这个问题是有棱角的材料

告诉AngularJS材料手势模块跳过(或忽略(移动设备上的点击劫持。

$mdGestureProvider.skipClickHijack((;

最新更新