2010-08-01 19 views
6

Sto usando i tag contentEditable div sul mio sito web e ho notato un problema strano quando si utilizza Firefox.Firefox contentEditable div focus issues

Ecco esempio di codice sorgente:

<html> 
    <head> 
    </head> 
    <body> 
    <div contentEditable="true" style="margin-left:auto; 
     margin-right:auto; height:200px; width:200px; border-style:solid; 
     border-color:black; border-width:1px;"></div> 
    </body> 
</html> 

qui sono i passi per riprodurre.

  1. contentEditable è stato attivato e il cursore lampeggia all'interno del div, ma non c'è testo nel div
  2. utente fa clic sul div contentEditable
  3. div mostra ancora messa a fuoco, ma ci è ora NESSUN cursore lampeggiante e l'utente non può immettere l'input nel div

I have re ha prodotto questo errore con Firefox 3.6.3 su Ubuntu e Firefox 3.5 su Windows XP. Non succede con Chrome.

Qualche idea sul perché questo sta accadendo e cosa fare per risolverlo?

MODIFICA: Una possibile soluzione potrebbe essere quella di impostare manualmente il cursore. Qualcuno sa come fare questo? Ho cercato online, ma non sembra che ci sia qualcosa supportato da W3.

Grazie!

+0

Sembra un errore di Firefox. Dovresti segnalarlo a Mozilla. – You

+0

Non dovresti * not * riferirlo a Mozilla perché 3.6.3 non ha il pretesto di essere pienamente compatibile con HTML5 e non è nemmeno la versione più recente. Prova ad aggiornare prima le installazioni di Firefox. Post scriptum Hai '' nella parte superiore del tuo file? – cbednarski

+0

Non sei sicuro di cosa stai provando a fare, stai facendo un 'INPUT FORM'? –

risposta

3

L'ho risolto utilizzando UTF "Spazio a larghezza zero". In PHP, è la seguente sfuggito doppia citazione:

"\ XE2 \ x80 \ x8B"

È possibile poi fuggire utilizzando: trim ($ string, "\ XE2 \ x80 \ x8B ")

Quando questo carattere invisibile è precaricato nel div modificabile, questo errore scompare.

Io uso codifica UTF-8 per la mia pagina e anche file sorgente (e database ... tutto)

1

È successo anche a me, a volte funziona, a volte no. sicuramente un bug direi. potresti provare ad inserire un personaggio nascosto, sembra che inizi a lampeggiare una volta che c'è del testo.

2

Basta aggiungere un &nbsp; in <div>.

Problemi correlati