2012-02-10 11 views
5

Sono nuovo in Extjs. Sto usando Extjs 4 nel mio progetto. Quando viene caricato ext-all.js, aggiunge automaticamente le classi al tag <body>. e tutti i miei altri stili css sono cambiati con gli stili extjs. Ho trovato nel documentaion che impostare la proprietà Ext.scopeResetCSS su true, quindi aggiungo come di seguito.Rimuovi extjs classi aggiunte automaticamente

Ext.onReady(function(){ 
     new Ext.Component({ 
      scopeResetCSS: true 
     }); 
    }); 

ma non cambia nulla. Ho ancora lo stesso problema.

C'è un modo per impedire a extjs di aggiungere automaticamente le classi CSS ai tag? Per favore aiuto ..

Questo è il mio codice per generare una casella di messaggio a più righe.

<link rel="stylesheet" type="text/css" href="components/com_jobs/js/extjs/resources/css/ext-all.css"/> 
<script type="text/javascript" src="components/com_jobs/js/extjs/ext-all.js"></script> 

<!-- extjs message box code --> 
<script type="text/javascript"> 

Ext.require([ 
'Ext.window.MessageBox' 
      ]);  

function removeBid(bidid){ 
    Ext.MessageBox.show({ 
     title: 'Address', 
     msg: 'Please enter your address:', 
     width:300, 
     buttons: Ext.MessageBox.OKCANCEL, 
     multiline: true, 
     //fn: showResultText 
    }); 
} 
</script> 

Sto facendo qualcosa di sbagliato ??? Voglio che extjs abbia lo stile solo dei suoi componenti. Ma ora gli stili extjs sono effetti tutta la mia pagina .. Per favore aiuto.

Grazie.

risposta

0

La proprietà scopeResetCSS è parte di Ext.buildSettings, che viene utilizzata all'inizio della sequenza di inizializzazione di Ext JS. Se vuoi cambiarlo, devi modificare ext-all.js o modificare le impostazioni in Sencha JS Builder (che presumo tu non stia utilizzando).

Apri ext-all.js nel tuo editor di testo preferito (uno in grado di gestire file più grandi, preferibilmente) e cerca "scopeResetCSS" vicino all'inizio del file, e lo troverai abbastanza facile.

+0

Ciao Eric, grazie per la tua risposta rapida Ho cambiato 'scopeResetCSS: true' in ext-all.js ma ancora Ho il problema: Extjs aggiunge automaticamente le classi ai tag '' e '' e cambia i miei stili css. :(In questo esempio http://dev.sencha.com/deploy/ext-3.4.0/examples/message -box/msg-box.html, ci sono caselle di messaggio extjs collegate a ciascun pulsante, ma nessuna classe extjs a inserito nel suo tag ''. Voglio solo che extjs stili i propri componenti invece di altri tag. – Shakeel

+0

Questo esempio proviene da Ext JS 3.4. Per 4.0, sembra che le classi vengano aggiunte automaticamente agli oggetti radice. Puoi aprire ext-all-scoped.css (il foglio di stile che devi usare con scopeResetCSS = true) e rimuovere le regole di stile dalle classi aggiunte ai tuoi tag, oppure puoi usare il metodo removeCls di Ext.Element per rimuovere a livello di codice classi da un tag. Sono abbastanza sicuro che non ci siano impostazioni predefinite per questo. – Eric

0

ho chiesto un similar question per ExtJS 4.2.1 prima di venire in tutto questo. La soluzione che ho adottato è stato quello di modificare il DOM volta ExtJS è stato caricato, e aggiungere un listener per l'evento DOMNodeInserted da guardare e gestire l'automatico creazione di componenti ExtJS come liste di selezione Se sei interessato puoi trovare la mia risposta qui: https://stackoverflow.com/a/29934347/857209

Problemi correlati