2010-09-16 21 views

risposta

9

Ho aggiunto if($input.hasClass('ignore') == true) { return; } alla riga 99 del plug-in per ignorare qualsiasi campo di testo con class = ignore. Forse questo ti aiuterà.

+1

Grazie Mattbee. Un'aggiunta geniale! :) – iltdev

3

Sto confermando che la soluzione di mattbee ha funzionato per me in leiu di una risposta dal membro che ha postato la domanda. Secondo le istruzioni, ho incollato il codice sulla linea 99, al di sopra della riga seguente:

if($input.hasClass('jqtranformdone') || !$input.is('input')) {return;} 

A tutti coloro che non è ovvio per, incollare il codice SOPRA linea 99, piuttosto che SOSTITUZIONE linea 99 come segue :

/*Custom code: Regarding class for elements exceptional to transformation.*/ 
/*Custom code: http://stackoverflow.com/questions/3727517/jqtransform-exclude-an-element-from-styling*/ 
if($input.hasClass('ignore') == true) { return; } 
if($input.hasClass('jqtranformdone') || !$input.is('input')) {return;} 

non ho visto la possibilità di commentare la risposta di mattbee così ho presentato nella forma di una risposta.

MODIFICA: il codice precedente richiederà a jqTransform di saltare/escludere/ignorare/evitare gli elementi di input. Nel mio caso l'ho usato per escludere type = "text" e type = "image". Tuttavia, l'applicazione della classe .ignore al mio elemento textarea escludeva effettivamente la trasformazione indesiderata, ma per qualche motivo escludeva ulteriormente la trasformazione dei miei elementi selezionati. Si noti che la modifica a jquery.jqtransfrom.js per l'area di testo è stata effettuata all'interno della funzione textarea a partire dalla riga 201 del documento originale non modificato piuttosto che la funzione per i campi di testo che iniziano alla riga 95 nel blocco di codice precedente.

Ecco un esempio di quello che ho tentato (collocato SOPRA linea 207):

if($textarea.hasClass('ignore') == true) { return; } 

per ribadire, ha funzionato ma anche escluso la trasformazione delle mie caselle di selezione che non era mia intenzione.

Dopo la ricerca di soluzioni mi sono imbattuto nel seguente post del blog: http://www.deliciouscoding.com/post.cfm?entry=use-jqtransform-and-tinymce-together

In sostanza, la tabella che jqTransform crea per sostituire elementi dell'area di testo viene sostituito da una textarea o più semplicemente, si annulla la trasformazione:

<!--Undo textarea transformation.--> 
<!--Source: http://www.deliciouscoding.com/post.cfm?entry=use-jqtransform-and-tinymce-together.--> 
<script language="javascript"> 
jQuery(function(){ 
jQuery("form.transform table").replaceWith('<textarea></textarea>'); 
}); 
</script> 

Per quelli nuovi di jQuery, il codice sopra deve essere inserito con la testa del documento (ad esempio tra <head> e </head>).

1

Oppure si può semplicemente aggiungere jqtranformdone classe per il vostro input :)

3

c'è una nuova biblioteca che ho creato - csTransPie - basandosi su jqtransform - jqtransform è una grande biblioteca, ma ha davvero molti problemi, oggi CSS3 risolve molti di questi problemi e mi piace l'idea di controlli sia normali controlli e guardando la stessa in tutti i browser

https://github.com/pkoretic/csTransPie

si tratta di un work in progress, ma anche adesso è meglio che jqtransform (più della metà dei il codice re scritto, molti bug risolti, clean css ...), devi ammetterlo ...

Basta usare.classe transpie sull'elemento che vuoi!

-1

So che questo è un argomento molto vecchio, ma devo dire che è più adatto se aggiungi classe extra al tuo modulo normale e non verrà trasformato. Per i testi di input e textarea aggiungere la classe 'jqtranformdone' e sarà restituito senza trasformazione. Per le caselle di controllo, i pulsanti di opzione e i selettori utilizzare la classe 'jqTransformHidden'.

0

Ecco la mia versione (versione 1.1 06.08.09) per saltare gli ingressi: modificare questo jquery.jqtransform.js in linea 497

$('input:submit:not(.hidden), input:reset:not(.hidden), input[type="button"]:not(.hidden)', this).jqTransInputButton(); 
    $('input:text:not(.hidden), input:password:not(.hidden), input[type="email"]:not(.hidden)', this).jqTransInputText(); 
    $('input:checkbox:not(.hidden)', this).jqTransCheckBox(); 
    $('input:radio:not(.hidden)', this).jqTransRadio(); 
    $('textarea:not(.hidden)', this).jqTransTextarea(); 
    $('select:not(.hidden)', this).jqTransSelect() 
4

Utilizzare la classe jqtransformdone. È integrato nel plugin.

+1

funziona, ma deve essere scritto con una "T" maiuscola: 'jqTransformdone' – Rocco

0

È possibile semplicemente aggiungere la classe "jqtransformdone" all'elemento, si desidera ignorare lo stile. Spero, aiuterà qualcun altro.

+0

Questo è già stato menzionato in alcune delle altre risposte. Si prega di verificare che la risposta che si desidera fornire non sia già presente prima di rispondere. – Ren

Problemi correlati