Maison > interface Web > js tutoriel > le corps du texte

Comment résoudre la différence de largeur de liste déroulante entre Internet Explorer et Firefox à l'aide de jQuery ?

Susan Sarandon
Libérer: 2024-10-20 15:03:29
original
580 Les gens l'ont consulté

How to Solve Drop-Down List Width Difference Between Internet Explorer and Firefox Using jQuery?

Écart de largeur de la liste déroulante IE

Dans Internet Explorer, les listes déroulantes héritent de la largeur de la liste déroulante, tandis que dans Firefox, elles s'ajustent à la liste contenu. Cela peut être problématique, car les boîtes de dépôt doivent être inutilement surdimensionnées pour s'adapter à l'option la plus longue.

Solution CSS

Malheureusement, il n'est pas possible de définir des largeurs différentes pour la boîte de dépôt et la liste déroulante. possible en utilisant CSS seul.

Solution de contournement jQuery

Une solution de contournement utilisant jQuery peut obtenir l'effet souhaité. Cette solution capture divers événements (focus, survol, clic, mouseout, flou) et modifie dynamiquement la classe CSS de la liste déroulante.

if (!$.support.leadingWhitespace) { // if IE6/7/8
    $('select.wide')
        .bind('focus mouseover', function() { $(this).addClass('expand').removeClass('clicked'); })
        .bind('click', function() { $(this).toggleClass('clicked'); })
        .bind('mouseout', function() { if (!$(this).hasClass('clicked')) { $(this).removeClass('expand'); }})
        .bind('blur', function() { $(this).removeClass('expand clicked'); });
}
Copier après la connexion

De plus, le CSS suivant est requis :

select {
    width: 150px; /* Or whatever width you want. */
}
select.expand {
    width: auto;
}
Copier après la connexion

En attribuant la classe « large » à la liste déroulante, la solution de contournement ajuste sa largeur en conséquence, résolvant ainsi l'écart IE.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal