Domanda

Così sto usando jQuery UI finestra di dialogo.Ma come ho letto c'è un bug comune all'interno di IE6 (che è un peccato che devo essere sicuro che questo funziona) dove elenchi a discesa non prestare attenzione alla z-index code.Ho anche letto che c'è un comodo plugin si chiama bgiframe di prendersi cura di mio sovrapposizione di guai.Ho trovato 2 modi diversi di persone dicono di usarlo, e non lavorano.Posso solo essere facendo qualcosa di veramente stupido, ma ho bisogno di questo lavoro.

tra jQuery.bgiframe.js Versione 2.1.1 Qui ci sono 2 modi ho cercato di usarlo senza lavoro:(Ho incluso tutti jQuery UI, jQuery, e bgiframe nella pagina che sto lavorando)

  1. La documentazione del plugin attuale dice di fare questo:

    $("#selectDropdownThatNeedsFixing").bgiframe();
    

    Questo causa un jQuery eccezione dicendo dicendo: previsto Oggetto.

  2. Il secondo modo che ho visto dalla seguente pagina: http://docs.jquery.com/UI/Dialog/dialog in pratica basta impostare bgiframe: true quando si inizializza la finestra di dialogo:

    $( ".selector" ).dialog({ bgiframe: true });
    

Questo non è un errore, ma il problema esiste ancora all'interno di IE6 quando ho il test.

Mi manca qualcosa?In che modo devo utilizzare bgiframe?Qualsiasi direzione sarebbe molto apprezzato.Grazie per il vostro aiuto!

È stato utile?

Soluzione

Non hai bisogno di utilizzare un plugin per questo.Il problema con IE6 e z-index è, elementi posizionati in IE6 generare un nuovo accatastamento contesto di partenza con un valore z-index pari a 0.Pertanto z-index non funziona correttamente in IE6.La soluzione a questo problema è quello di specificare un valore z-index nel genitore di selezione che è uguale alla z-index specificato nel bambino di selezione.

Verifica del funzionamento esempio a http://jsfiddle.net/ebgnu/2/

Sotto è l'esempio che ho fatto in jsfiddle.

.parent{
    position: relative;
    color:white;
}
.parent#a {
    height: 2em;
    z-index: 1;
}
.parent#a .child{
    position: absolute;
    height: 6em;
    width: 2em;
    z-index: 1;
    background:blue;
}
.parent#b {
    height: 2em;
    background:red;
}

<div class="parent" id="a">
    <div class="child">a</div>
</div>
<div class="parent" id="b">
    <div class="child">b</div>
</div>

Guarda .parent#a Questo è il padre del bambino di selezione a che hanno un z-index 1.In questo esempio, sarà in cima alla b.diciamo di voler fare b in cima a una.Tutto quello che dobbiamo fare è cambiare i valori del bambino a ed è padre di z-index: 0.Questo invierà indietro.

Altri suggerimenti

Credo che dovresti chiamare il bgiframe plug-in dialog, non l' < select >.L'attuale jQuery UI versione non sembra elenco il bgiframe opzione per il dialogo più.

JQuery Eccezione che stai ricevendo sembra indicare che l'elemento che stai targeting non esiste per il selettore specificato (#selectDropdownThatNeedsFixing).

Se il problema persiste, provare a utilizzare IE Developer Toolbar per scoprire se il iframe in realtà è stato creato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top