iOS选择onchange而不是触发

时间:2011-11-04 02:20:56

标签: javascript html mobile-safari onchange

有没有人知道这方面的解决方法?我正在尝试使用select元素进行导航。它看起来像这样;

<select onchange="window.location=(this.options[this.selectedIndex].value)">

它适用于所有桌面浏览器,它也适用于我的WP7手机。它在我的iPhone(iOS 5.0)上不起作用。

3 个答案:

答案 0 :(得分:26)

当您更改输入值时,iOS往往不会触发change个事件。我documented this in more depth at the Device-Bugs tracker

解决方法是绑定到blur事件。在上面的示例中,使用onblur,您将全部设置。

<select onblur="window.location=(this.options[this.selectedIndex].value)">

答案 1 :(得分:0)

我刚刚将表单操作设置为重定向页面的php页面。你甚至不需要一个提交按钮(尽管你也可以添加一个用于优雅降级然后用js隐藏它),iOS列表选择器小部件会在它完成时自动触发表单操作。 #39;按下按钮。

我原本想避免表单操作和提交按钮,因为我觉得js onChange方法更干净,但我在iOS上使用php很好,因为它不需要提交按钮。

答案 2 :(得分:0)

如果将onchange更改为onblur,则它适用于iOS,但不适用于其他设备。我最终找到的解决方法是同时使用onbluronchange。似乎多余,但具有预期的效果。