有人知道这个问题的解决方法吗?我试图使用一个选择元素进行导航。它看起来像这样;
<select onchange="window.location=(this.options[this.selectedIndex].value)">
它适用于所有桌面浏览器,也适用于我的WP7手机。
当你改变iOS的输入值时,它往往不会触发change
事件。我在Device-Bugs tracker中对此进行了更深入的记录。
解决方法是绑定到blur
事件。在上面的示例中,使用onblur
,您将所有设置。
<select onblur="window.location=(this.options[this.selectedIndex].value)">
如果将onchange
更改为onblur
,则适用于iOS,但不适用于其他。我最终的解决办法是同时使用onblur
和onchange
。看起来有点多余,但是有想要的效果。
最后将表单动作设置为一个php页面,该页面将重定向到该页面。你甚至不需要提交按钮(虽然你也可以添加一个优雅的降级,然后隐藏它与js), iOS列表选择器小部件自动触发表单操作时,它的"完成"按钮被按下。
我最初想避免表单操作和提交按钮,因为我觉得js的onChange方法更干净,但我很高兴在iOS上使用php,因为它不需要提交按钮。
使用input
事件(参见文档)