Saya mencoba semua solusi ini dan tidak ada yang berhasil sepenuhnya untuk saya. Inilah yang saya pikirkan
$(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);
Pastikan untuk menambahkan kelas dropdown ke setiap dropdown di html Anda
Triknya di sini adalah menggunakan fungsi klik khusus (saya menemukannya di sini Peristiwa kebakaran setiap kali item DropDownList dipilih dengan jQuery ). Banyak solusi lain di sini menggunakan perubahan penanganan peristiwa, yang berfungsi dengan baik tetapi tidak akan terpicu jika pengguna memilih opsi yang sama seperti yang dipilih sebelumnya.
Seperti banyak solusi lainnya, fokus dan mousedown adalah untuk saat pengguna meletakkan dropdown dalam fokus, blur adalah saat mereka mengklik.
Anda mungkin juga ingin menempelkan beberapa jenis deteksi browser dalam hal ini sehingga hanya efek yaitu. Ini tidak terlihat buruk di browser lain