Visualizzazione risultati 1 fino 6 di 6

Discussione: Numero di linea in contenteditable div

  1. #1
    Ufobm non è connesso Utente attivo
    Data registrazione
    06-12-2004
    Messaggi
    432

    Predefinito Numero di linea in contenteditable div

    Salve a tutti!
    Ho un div con contenteditable settato a true.
    In linea di principio, questo div dovrebbe contenere solo elementi "in linea" e il passaggio da una linea ad un altra è rappresentato da un <br>.

    In pratica sto cercando di realizzare un "Rich Text Editor", con testo formattato, ad esempio, in questo modo:

    Ciao a tutti!
    Questo è solo
    un esempio...
    Quello che vorrei sapere è come fare, con Javascript ed eventualmente jQuery, per conoscere la riga che l'utente sta modificando al momento (cioè dove si trova il "cursore lampeggiante").

  2. #2
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Ma ti serve proprio il numero della riga? Non dico che sia impossibile, ma è molto complesso. È decisamente più semplice ottenere le coordinate del cursore.

  3. #3
    Ufobm non è connesso Utente attivo
    Data registrazione
    06-12-2004
    Messaggi
    432

    Predefinito

    Uhm... Diciamo che mi posso accontentare del contenuto della riga su cui si sta scrivendo... Dovrebbe essere più facile giusto?

  4. #4
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Dipende da cosa intendi per riga. Cioè, per te il testo (nel sorgente scritto senza interruzioni) suddiviso automaticamente in più righe dal browser è da considerarsi la medesima riga o righe distinte? (Questo messaggio per te è tutto in una singola riga?)

  5. #5
    Ufobm non è connesso Utente attivo
    Data registrazione
    06-12-2004
    Messaggi
    432

    Predefinito

    Nel mio contenteditable non c'è text-wrapping (cioè non va a capo in automatico) ed alla pressione del tasto invio si crea un <br> nel codice sorgente.
    Riprendendo l'esempio precedente, il sorgente all'interno del div sarebbe:
    Ciao a <span style="font-weight: bold">tutti</span>!<br>
    Questo è solo<br>
    un <span...>esempio</span>...<br>
    (nota: c'è un <br> anche in fondo al testo.)

    Quindi, se uno sta scrivendo qualcosa dopo è, io vorrei recuperare la riga "Questo è solo", cioè il testo tra i due <br>.

    EDIT: comunque sì, il tuo messaggio lo considererei un'unica riga.

  6. #6
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Puoi usare la proprietà focusNode dell'oggetto Selection, dovrai però scorrere l'albero del documento per ottenere le informazioni necessarie come il "numero" di riga o il testo. Un modo semplice potrebbe essere usare l'XPath.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •