2012-02-10 16 views
5

Soy nuevo en Extjs. Estoy usando Extjs 4 en mi proyecto. Cuando se carga ext-all.js, agrega automáticamente clases a la etiqueta <body>. y todos mis otros estilos CSS se cambian con estilos extjs. Encontré en la documentación que establecer la propiedad Ext.scopeResetCSS en true, por lo que agrego como a continuación.Eliminar extjs agregó automáticamente las clases

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

pero no cambia nada. Todavía tengo el mismo problema.

¿Hay alguna manera de evitar que extjs agregue automáticamente clases de CSS a las etiquetas? Por favor ayuda ...

Este es mi código para generar un cuadro de mensaje de varias líneas.

<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> 

¿Estoy haciendo algo mal ??? Quiero que extjs solo diseñe sus propios componentes. Pero ahora los estilos extjs son efectos en toda mi página ... Por favor ayuda.

Gracias.

Respuesta

0

La propiedad scopeResetCSS es parte de Ext.buildSettings, que se usa al comienzo de la secuencia de inicialización de Ext JS. Si desea cambiarlo, debe editar ext-all.js o cambiar la configuración en Sencha JS Builder (que asumo que no está usando).

Abra ext-all.js en su editor de texto favorito (uno que pueda manejar archivos más grandes, preferiblemente) y busque "scopeResetCSS" cerca del principio del archivo, y le resultará bastante fácil.

+0

Hola Eric, gracias por su rápida respuesta. He cambiado el 'scopeResetCSS: true' en ext-all.js pero todavía Tengo el problema. Extjs agrega automáticamente las clases a las etiquetas '' y '' y cambia mis estilos CSS. :(En este ejemplo, http://dev.sencha.com/deploy/ext-3.4.0/examples/message -box/msg-box.html, hay cuadros de mensajes extjs adjuntos a cada botón. Pero no extjs classes a entró en su etiqueta ''. Solo quiero que extjs diseñe sus propios componentes en lugar de otras etiquetas. – Shakeel

+0

Ese ejemplo es de Ext JS 3.4. Para 4.0, parece que las clases se agregan automáticamente a los objetos raíz. Puede abrir ext-all-scoped.css (la hoja de estilos que debe usar con scopeResetCSS = true) y eliminar las reglas de estilo de las clases agregadas a sus propias etiquetas, o puede usar el método removeCls de Ext.Element para eliminar mediante programación clases de una etiqueta. Estoy bastante seguro de que no hay una configuración incorporada para esto. – Eric

0

Pedí similar question para ExtJS 4.2.1 antes de encontrarme con este. La solución que adopté fue modificar el DOM una vez que se cargó ExtJS, y agregar un detector para el evento DOMNodeInserted para vigilar y manejar el automático creación de componentes ExtJS como listas de selección. Si está interesado, puede encontrar mi respuesta aquí: https://stackoverflow.com/a/29934347/857209

Cuestiones relacionadas