Vì không thể bấm phím giả mạo với JavaScript (và vì lý do bảo mật), điều gần nhất là thay đổi kích thước của phần tử <select>
(thay đổi từ điều khiển thả xuống để điều khiển hộp danh sách và quay lại).


Demo, Code (tinh khiết JS, không có thư viện)
Khi người sử dụng chọn một tùy chọn bằng cách nhấp chuột (hoặc gõ) nó, bấm vào xử lý sự kiện 'đóng cửa' các danh sách hộp bằng cách thiết lập kích thước của nó trở lại 1, sau đó nó chuyển đổi trở lại một điều khiển thả xuống bình thường. Tôi đã chỉ thử nghiệm điều này trong (không phải di động) Chrome, cho tôi biết nếu nó hoạt động trên Blackberry hay không.
Edit:
Tôi đã tạo ra một plugin jQuery nhỏ mà kết thúc tốt đẹp hành vi và cấu hình vào một điều khiển dễ hiểu hơn. Tôi đã thử nghiệm điều này trên Safari Mobile trên iOS 4 và nó hoạt động giống như một trình đơn thả xuống thường xuyên trong trình duyệt đó, ngoại trừ nó có thể được mở theo chương trình.
Demo, Code (jQuery 1.7)
Nó hoạt động như thế này:
$("select").openable({ triggers: $("#trigger") });
Nhấp vào bất kỳ kích hoạt sẽ mở ra giao diện người dùng lựa chọn.
Tôi cũng đã thêm một handler cho chìa khóa lên sự kiện để bắt Nhập, Esc và Space để 'gần' hộp danh sách. Điều này bắt chước cơ chế lựa chọn của trình điều khiển thả xuống trên các trình duyệt máy tính để bàn.
Tất nhiên, trên trình duyệt dành cho máy tính để bàn, thao tác này sẽ thay đổi bố cục của trang của bạn, vì nó khác với điều khiển thả xuống gốc. Bạn sẽ phải đưa ra một giải pháp CSS cho điều đó (một cái gì đó với position: absolute
và z-index
có thể). Nhưng trên iOS giao diện người dùng lựa chọn không được hiển thị trên trang, do đó, nó không phải là một vấn đề.
Một lần nữa, đã không kiểm tra plugin này trên BlackBerry ...
Nguồn
2011-12-31 19:05:31
có thể trùng lặp http://stackoverflow.com/questions/360431/can-i-open-a-dropdownlist-using-jquery – Nasreddine
Nó không một bản sao. Điều này đặc biệt cho điện thoại di động và trên điện thoại di động '.focus()' có thể đã đủ (không dành cho trình duyệt máy tính để bàn) nhưng nó không phải là. Chỉ trích! http://jsfiddle.net/rudiedirkx/c3Mup/3/show/ – Rudie