2013-05-18 11 views
7

Se creo un div che ha contenuto true true all'interno di un iframe e se si fa doppio clic su esso diventa non funzionale. Lo stato attivo è ancora nell'iframe e si può vedere il cursore, tuttavia, non risponde al keydownDoppio clic su un div con contenteditable inside e iframe disabilita div

Qualcuno ha un'idea di come posso superare questo?

EDIT:

ho implementato un editor di dojo. se apri this link in ipad vedrai il problema come descritto sopra.

+1

Mostra il tuo codice! Nel migliore dei casi costruisci un esempio minimo che mostri il tuo problema. –

+0

@padde, vedi http://jsbin.com/upavuv/1/ –

+0

Qual è il tuo scopo per l'iframe? (ce ne sono alcuni, ho bisogno di chiarimenti su cosa ti sta fornendo). Presumo che il contenteditable sia il tuo obiettivo finale: un div editabile, mentre l'iframe è un tipo di livello intermedio. –

risposta

1

Cercando di ottenere un div contentedit per lavorare all'interno di un iframe è un livello complicato, se si sta cercando di farlo funzionare all'interno di un editor WYSIWYG specifico come l'editor di Dojo, è un altro livello più difficile, in quanto vi è un molto JavaScript che influenza le interazioni. Sarebbe utile spiegare i parametri un po 'meglio nella tua domanda.

Hai usato un debugger del browser (come Firebug) per vedere cosa succede quando fai clic?

Questo altro SO question and answer about contenteditable div vs iframe è utile.

Infine, se si utilizza iOS Safari, assicurarsi di utilizzare Safari 5.0 o versioni successive poiché l'attributo contenteditable è only recently supported on that browser.

EDIT: Dal momento che si sta utilizzando iOS 6, si dovrebbe utilizzare the iOS Safari JavaScript Debugger per farvi sapere cosa sta succedendo un po 'più chiaramente quando si fa clic sul div modificabile. Se riesci a trovare alcuni messaggi di errore più specifici, ti preghiamo di aggiornarci.

+0

sta funzionando bene nei browser desktop. questo problema arriva solo in ipad.Sto cercando di implementare l'editor di dojo in un'app ipad –

+0

Essendo che sta accadendo all'interno di iOS 6.0, ho aggiornato la mia risposta con informazioni su come risolvere gli errori/eventi JavaScript. –

1

Quale sistema operativo si sta utilizzando? Assicurati di utilizzare OS 5.0 o versioni successive. Secondo lo (Apple's Technical Notes) and Safari Web Content Guide. E 'scritto:

Il codice HTML contenteditable attributo è supportato in iOS 5.0 e versioni successive. Nelle versioni precedenti, sostituire contenteditable, utilizzato per abilitare l'immissione di testo all'interno di un elemento con stile, con un elemento stilizzato textarea. In Safari, puoi personalizzare l'aspetto degli elementi textarea utilizzando i CSS. Se necessario, puoi anche disabilitare qualsiasi stile specifico della piattaforma su un elemento textarea impostando -webkit-appearance su nessuno.

Quindi, se si utilizza una versione precedente del sistema operativo, è possibile utilizzare gli elementi textarea anziché contenteditable. Quindi, è garantito che anche la tua applicazione funzionerà.

PS. puoi usare il tuo IPAD per andare su questo website, per provare come funziona con textarea. Potrebbe essere un esempio per te.

Spero che questo aiuti.

+0

Sto usando il 6.0. funziona bene se creo un div contenteditable semplice, ma dopo aver implementato l'editor di dojo questo succede –

+2

@NisanthSojan Mi dispiace dirvi che il 'dojo editor' non supporta i dispositivi IOS. Ci sono molte persone che cercano di svilupparlo ma sono falliti. Puoi dare un'occhiata al [sito web di Dojo] (http://dojotoolkit.org/reference-guide/1.9/releasenotes/1.9.html). È scritto che ** iOS 4.x, 5.x (Mobile Safari) e 6.x (compresi tutti i widget Dijit eccetto Editor) ** E questo [collegamento] (http: //mail.dojotoolkit. org/pipermail/dojo-interest/2011-February/052262.html) dal sistema di posta elettronica Dojo. – lvarayut