我正在使用 html 选择元素作为活动菜单。当您从中选择一个项目时,它会执行一个操作,然后在某些情况下,该操作的副作用是将菜单的值重置为其他值。
function onMenuChangeHandler() {
var menu = $('#menu');
var menuChoice = menu.val();
if (menuChoice == ...) {
...
menu.blur(); // ensure change handler doesn't get fired again
menu.val(OTHER_VALUE); // **
}
};
这在多个浏览器的桌面上运行良好,在 iOS5 上运行良好。它莫名其妙地停止了在 iOS6 上的工作。结果是它的行为就像**
上面标记的行不存在一样。
在我不设置值的任何情况下它都可以正常工作。
仅供参考:iOS6 的另一个变化似乎与此无关,但以防万一。选择菜单后,它现在会立即关闭选择器,而不是让它保持打开状态。这就是它在所有其他平台上的工作方式。如果您有多个选择元素,您仍然会得到非标准行为。