2011-11-04 34 views
15

Có ai biết bất kỳ giải pháp nào cho vấn đề này không? Tôi đang cố gắng sử dụng phần tử chọn để điều hướng. Nó trông giống như thế này;iOS chọn onchange không kích hoạt

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

Nó hoạt động trên tất cả các trình duyệt trên máy tính để bàn và nó cũng hoạt động trên điện thoại WP7 của tôi. Nó không hoạt động trên iPhone của tôi (iOS 5.0).

Trả lời

24

iOS có xu hướng không kích hoạt change sự kiện khi bạn thay đổi giá trị của các yếu tố đầu vào. Tôi đã documented this in more depth at the Device-Bugs tracker.

Giải pháp thay thế là liên kết với sự kiện blur thay thế. Trong ví dụ trên, hãy sử dụng onblur và bạn sẽ hoàn tất.

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

Hoạt động hoàn hảo. Cảm ơn –

+0

Chúng kích hoạt sự kiện ngay sau khi người dùng "nhấp" tùy chọn đó là điều ... Vì vậy, không phải sự kiện "đã hoàn tất" sẽ kích hoạt thay đổi. Vì vậy, có mờ được ưa thích trong trường hợp này. Đó là một mảnh vỡ phân mảnh này ... – Miguel

0

Tôi vừa kết thúc việc đặt hành động biểu mẫu thành trang php chuyển hướng trang. Bạn thậm chí không cần một nút gửi (mặc dù bạn cũng có thể thêm một nút cho sự xuống cấp duyên dáng rồi ẩn nó bằng js), tiện ích bộ chọn danh sách iOS sẽ tự động kích hoạt hành động biểu mẫu khi nhấn nút 'Xong'.

Ban đầu tôi muốn tránh các thao tác biểu mẫu và gửi các nút vì tôi cảm thấy phương pháp js onChange là sạch hơn, nhưng tôi vẫn sử dụng php trên iOS vì nó không yêu cầu nút gửi.

Các vấn đề liên quan