2013-05-18 7 views
7

Wenn ich ein div erstellen, das contenteditable wahr innerhalb eines iframe hat und wenn Sie es doppelklicken, wird es nicht funktionsfähig. Der Fokus ist immer noch in der iframe und Sie können sehen der Cursor reagiert jedoch nicht auf KeydownDoppelklicken auf ein div mit contenteditable innerhalb und iframe deaktiviert div

Hat jemand eine Idee, wie ich das überwinden kann?

EDIT:

i ein Dojo-Editor implementiert haben. Wenn Sie in ipad this link öffnen, sehen Sie das Problem wie oben beschrieben.

+1

Zeigen Sie Ihren Code! Im besten Fall konstruiere ein minimales Beispiel, das dein Problem demonstriert. –

+0

@padde siehe http://jsbin.com/upavuv/1/ –

+0

Was ist Ihr Zweck für den Iframe? (Es gibt ein paar, ich brauche etwas Klärung, was das für Sie zur Verfügung stellt) Ich nehme an, die Zufriedenheit ist Ihr Endziel - eine editierbare div, während der iframe ist eine Art von Mittelschicht. –

Antwort

1

Der Versuch, ein contenteditable div in einem iframe zu arbeiten, ist eine Stufe von komplizierter, wenn Sie versuchen, es in einem bestimmten WYSIWYG-Editor wie Dojo Editor zu arbeiten, ist ein anderes Niveau schwieriger, da es ein Viel JavaScript beeinflusst die Interaktionen. Es würde helfen, die Parameter in Ihrer Frage etwas besser zu erklären.

Haben Sie einen Browser-Debugger (wie Firebug) verwendet, um zu sehen, was passiert, wenn Sie klicken?

Diese andere SO question and answer about contenteditable div vs iframe ist nützlich. Wenn Sie iOS Safari verwenden, stellen Sie sicher, dass Sie Safari 5.0 oder höher verwenden, da das Attribut contenteditable only recently supported on that browser ist.

EDIT: Da Sie mit iOS 6, sollten Sie the iOS Safari JavaScript Debugger verwenden Sie wissen zu lassen, was ein wenig deutlicher passiert, wenn Sie auf das editierbare div klicken. Wenn Sie einige genauere Fehlermeldungen finden können, bitte aktualisieren Sie uns.

+0

es funktioniert gut in Desktop-Browsern. Dieses Problem kommt nur in iPad.Ich versuche, den Dojo-Editor in einer iPad-App zu implementieren –

+0

Da es in iOS 6.0 geschieht, habe ich meine Antwort mit Informationen zur Fehlerbehebung von JavaScript-Fehlern/-Ereignissen aktualisiert. –

1

Welches Betriebssystem verwenden Sie? Sie sollten sicherstellen, dass Sie OS 5.0 oder höher verwenden. Nach der (Apple's Technical Notes) and Safari Web Content Guide. Es steht geschrieben:

Das HTML contenteditable Attribut wird in iOS 5.0 und später unterstützt. Ersetzen Sie in früheren Versionen contenteditable, um die Texteingabe in einem formatierten Element mit einem gestylten textarea-Element zu aktivieren. In Safari können Sie die Darstellung von textarea Elementen mithilfe von CSS anpassen. Bei Bedarf können Sie sogar alle plattformspezifischen integrierten Stile für ein TextArea-Element deaktivieren, indem Sie -webkit-appearance auf "Keine" setzen.

Wenn Sie also eine alte Betriebssystemversion verwenden, können Sie textarea Elemente anstelle von contenteditable verwenden. Dann ist es garantiert, dass Ihre Anwendung auch funktioniert.

PS. Sie können Ihr IPAD verwenden, um auf diese website gehen, um zu versuchen, wie es mit textarea funktioniert. Es könnte ein Beispiel für dich sein.

Hoffe, dass hilft.

+0

ich benutze OS 6.0. es funktioniert gut, wenn ich ein einfaches zufrieden stellendes Div erstellen, aber nach der Implementierung Dojo-Editor geschieht dies –

+2

@NisanthSojan Es tut mir leid, Ihnen zu sagen, dass der 'Dojo-Editor' die IOS-Geräte nicht unterstützt. Es gibt viele Leute, die versuchen, es zu entwickeln, aber sie sind gescheitert. Sie können sich die [Dojo-Website] (http://dojotoolkit.org/reference-guide/1.9/releasenotes/1.9.html) ansehen. Es wird geschrieben, dass ** iOS 4.x, 5.x (Mobile Safari) und 6.x (einschließlich aller Dijit-Widgets außer Editor) ** Und das [Link] (http: //mail.dojotoolkit. org/pipermail/dojo-interest/2011-Februar/052262.html) aus dem Dojo-E-Mail-System. – lvarayut

Verwandte Themen