2013-05-10 9 views
5

Sto usando jQuery-1.9.1 e jQuery-ui-1.10.2 a popup una finestra, il mio codice è qui sotto:Perché la finestra di dialogo dell'interfaccia utente jQuery non ha minimizzazione, massimizza i pulsanti?

<script type="text/javascript" src="js/jquery-1.9.1.min.js"></script> 
<script type="text/javascript" src="js/jquery-ui-1.10.2.min.js"></script> 
<link rel="stylesheet" type="text/css" href="css/jqueryUI/theme/redmond/jquery-ui- 1.10.2.custom.min.css" /> 
<script type="text/javascript"> 
$(function(){ 
    $("#dialog").dialog(); 
}); 
</script> 
</head> 
    <body> 
<div id="dialog"> 
    hello, this is a dialog 
</div> 
</body> 

finestra Basta close pulsante, non minimize e maximize pulsanti, ma io voglio mostrarli. Trovo nella pagina this, la sua finestra di dialogo ha i pulsanti minimize e maximize, non trovo alcuna impostazione speciale sulla finestra di dialogo nel codice javascript dell'autore, e la versione di jQuery-ui usata è 1.8.16, fa jQuery-ui della mia versione ha rimosso questa funzionalità?

PS: jQuery-1.9.1.min.js e jQuery-ui-1.10.2.min, js sono scaricati dal sito Web ufficiale, nessuna modifica di personalizzazione.

risposta

8

Guardando all'origine dell'interfaccia utente di jQuery in quell'esempio, sembra che il responsabile del sito del blog abbia aggiunto la personalizzazione per minimizzare e massimizzare il supporto. È possibile trovare il seguente commento nel codice.

/* 
* jQuery UI Dialog 1.8.16 
* w/ Minimize & Maximize Support 
* by Elijah Horton ([email protected]) 
*/ 

Sarà necessario aggiungere la personalizzazione della finestra di dialogo per la a sostegno di questa o includere una libreria che estende la finestra di jQuery UI. Sembra che il sito this abbia un plugin chiamato jquery-dialogextend che farà ciò che stai chiedendo.

+0

Sì, grazie a tutti. – hiway

1

Se si guarda verso il centro del file jquery-ui.js collegato in quella pagina, c'è una sezione di codice non terminato dalla riga 366 fino alla linea 1429 dove ha aggiunto codice personalizzato per gestire la funzionalità minimizza/massimizza.

Basta notare che non vi è alcuna garanzia che la sezione di codice funzioni correttamente (o del tutto) in qualsiasi versione di jQuery UI diversa da 1.8.16.

0

Ho creato un piccolo plug-in con la fabbrica di widget che estende la finestra di dialogo ui jquery.

Io uso il widget di jQuery fabbrica per aggiungere nuovi functionnalities

$.widget('fq-ui.extendeddialog', $.ui.dialog, { 
... 
})(jQuery); 

Nel codice di dialogo jQuery UI, c'è un metodo _createTitlebar. sovrascrivo e aggiungere un pulsante di ingrandire e ridurre

_createTitlebar: function() { 
    this._super(); 
    // Add the new buttons 
    ...   
    }, 
+0

Sebbene questo collegamento possa rispondere alla domanda, è meglio includere qui le parti essenziali della risposta e fornire il link per riferimento. Le risposte di solo collegamento possono diventare non valide se la pagina collegata cambia. –

+0

Siamo spiacenti, questo è il mio primo post ^^ – Thomas

+0

Nessun problema. Benvenuto in Stack Overflow! Grazie per aver ampliato la risposta per includere le parti pertinenti alla risposta. Si prega di dare un'occhiata alla sezione [aiuto] per familiarizzare con le regole del sito. –

Problemi correlati