Bagaimana untuk Menyelesaikan Perbezaan Lebar Senarai Drop-Down Antara Internet Explorer dan Firefox Menggunakan jQuery?

Susan Sarandon
Lepaskan: 2024-10-20 15:03:29
asal
579 orang telah melayarinya

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

Percanggahan Lebar Senarai Jatuh Turun IE

Dalam Internet Explorer, senarai lungsur turun mewarisi lebar kotak jatuh, manakala dalam Firefox mereka menyesuaikan diri dengan senarai kandungan. Ini boleh menjadi masalah, memerlukan peti jatuh bersaiz terlalu besar untuk menampung pilihan terpanjang.

Penyelesaian CSS

Malangnya, menetapkan lebar yang berbeza untuk peti jatuh dan senarai lungsur turun bukanlah mungkin menggunakan CSS sahaja.

Penyelesaian jQuery

Penyelesaian menggunakan jQuery boleh mencapai kesan yang diingini. Penyelesaian ini menangkap pelbagai peristiwa (fokus, alih tetikus, klik, keluar tetikus, kabur) dan mengubah suai kelas CSS senarai lungsur turun secara dinamik.

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'); });
}
Salin selepas log masuk

Selain itu, CSS berikut diperlukan:

select {
    width: 150px; /* Or whatever width you want. */
}
select.expand {
    width: auto;
}
Salin selepas log masuk

Dengan memberikan kelas "lebar" pada senarai lungsur turun, penyelesaian melaraskan lebarnya dengan sewajarnya, menyelesaikan percanggahan IE.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Perbezaan Lebar Senarai Drop-Down Antara Internet Explorer dan Firefox Menggunakan jQuery?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan