ฉันลองใช้วิธีแก้ปัญหาเหล่านี้ทั้งหมดแล้วและไม่มีวิธีใดได้ผลสำหรับฉันเลย นี่คือสิ่งที่ฉันคิดขึ้นมา
$(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);
อย่าลืมเพิ่มคลาสแบบเลื่อนลงในแต่ละดร็อปดาวน์ใน html ของคุณ
เคล็ดลับที่นี่คือการใช้ฟังก์ชันคลิกพิเศษ (ฉันพบที่นี่เหตุการณ์ไฟทุกครั้งที่เลือกรายการ DropDownList ด้วย jQuery ) วิธีแก้ปัญหาอื่น ๆ อีกมากมายที่นี่ใช้การเปลี่ยนแปลงตัวจัดการเหตุการณ์ซึ่งทำงานได้ดี แต่จะไม่ทริกเกอร์หากผู้ใช้เลือกตัวเลือกเดียวกับที่เลือกไว้ก่อนหน้านี้
เช่นเดียวกับโซลูชันอื่น ๆ การโฟกัสและการเลื่อนเมาส์มีไว้สำหรับเมื่อผู้ใช้วางเมนูแบบเลื่อนลงในโฟกัสการเบลอจะเกิดขึ้นเมื่อพวกเขาคลิกออกไป
คุณอาจต้องการติดการตรวจจับเบราว์เซอร์บางประเภทเพื่อให้มีผลเฉพาะเช่น มันไม่ได้ดูแย่ในเบราว์เซอร์อื่น ๆ