Tôi đã thử tất cả các giải pháp này và không giải pháp nào hoàn toàn phù hợp với tôi. Đây là những gì tôi đã nghĩ ra
$(document).ready(function () {
var clicknum = 0;
$('.dropdown').click(
function() {
clicknum++;
if (clicknum == 2) {
clicknum = 0;
$(this).css('position', '');
$(this).css('width', '');
}
}).blur(
function() {
$(this).css('position', '');
$(this).css('width', '');
clicknum = 0;
}).focus(
function() {
$(this).css('position', 'relative');
$(this).css('width', 'auto');
}).mousedown(
function() {
$(this).css('position', 'relative');
$(this).css('width', 'auto');
});
})(jQuery);
Đảm bảo thêm một lớp thả xuống vào mỗi danh sách thả xuống trong html của bạn
Thủ thuật ở đây là sử dụng chức năng nhấp chuột chuyên biệt (Tôi tìm thấy nó ở đây Sự kiện cháy mỗi khi một mục DropDownList được chọn với jQuery ). Nhiều giải pháp khác ở đây sử dụng thay đổi trình xử lý sự kiện, hoạt động tốt nhưng sẽ không kích hoạt nếu người dùng chọn cùng một tùy chọn như đã chọn trước đó.
Giống như nhiều giải pháp khác, tiêu điểm và di chuyển xuống dành cho khi người dùng đặt tiêu điểm thả xuống, làm mờ là khi họ nhấp vào.
Bạn cũng có thể muốn gắn một số loại phát hiện trình duyệt trong này để nó chỉ có tác dụng tức là. Mặc dù vậy, nó trông không tệ trong các trình duyệt khác