Ich habe alle diese Lösungen ausprobiert und keine hat vollständig für mich funktioniert. Das habe ich mir ausgedacht
$(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);
Stellen Sie sicher, dass Sie jedem Dropdown-Menü in Ihrem HTML-Code eine Dropdown-Klasse hinzufügen
Der Trick hier ist die Verwendung der speziellen Klickfunktion (ich habe sie hier gefunden. Jedes Mal, wenn ein DropDownList-Element mit jQuery ausgewählt wird, wird ein Ereignis ausgelöst ). Viele der anderen hier beschriebenen Lösungen verwenden die Änderung des Ereignishandlers, die gut funktioniert, jedoch nicht ausgelöst wird, wenn der Benutzer dieselbe Option wie zuvor auswählt.
Wie bei vielen anderen Lösungen ist Fokus und Mousedown für den Fall gedacht, dass der Benutzer das Dropdown-Menü in den Fokus stellt. Unschärfe gilt für den Fall, dass er wegklickt.
Möglicherweise möchten Sie auch eine Art Browsererkennung darin einfügen, damit dies nur Auswirkungen hat, z. In anderen Browsern sieht es allerdings nicht schlecht aus