Punta e clicca sostituzione sinonimo nell'area di testo con Javascript

3

Sto tentando di creare un sito che ti consenta di digitare una frase o un passaggio di testo, quindi fare clic sulle parole per visualizzare un elenco di sinonimi (da un'API online) ed eventualmente le abbreviazioni autorizzate da un elenco che fornisco . Una volta cliccato, sostituiva quella parola con la parola su cui era stato fatto clic. Funzionerebbe come dopo la scadenza o un correttore ortografico basato su Javascript.

Ci sono delle librerie configurate per rendere facile una cosa del genere, o che tipo di Javascript devo osservare? Ci sono tutorial o esempi per questo genere di cose? Sono consapevole che il codice sorgente di After the Deadline è disponibile, ma ho bisogno solo di una piccola parte della loro tecnologia, non di tutta la grammatica e della tecnologia di controllo ortografico.

    
posta SilentD 23.09.2011 - 19:52
fonte

2 risposte

1

Completamento automatico interfaccia utente JQuery ha opzioni per il completamento automatico di più parole, funziona con qualsiasi origine dati, è piuttosto facile usa e proviene da una libreria un sacco di supporto.

Poiché l'origine dati è configurabile, puoi fare cose diverse dal completamento automatico, come i sinonimi. Tuttavia, non funziona sul clic. Non so nulla di ciò che funziona sul clic, dal momento che normalmente gli utenti si aspettano che il cursore si sposti sul clic, ma se si vuole davvero che funzioni in questo modo si potrebbe probabilmente chiamare lo stesso codice dall'evento onclick, più o meno .

    
risposta data 24.09.2011 - 01:49
fonte
0

Dopo la scadenza utilizza TinyMCE, non un'area di testo. Ciò li rende in grado di decorare il testo modificato sottolineando parti del testo, cosa che non sarebbe possibile in <textarea /> .

Se non hai paura dei progetti esistenti e se puoi legalmente farlo dato alla GNU GPL, puoi usare il codice After the Deadline, prendendo solo la parte di cui hai bisogno e buttando via tutto il resto relativo al controllo ortografico.

Se, d'altra parte, per qualsiasi motivo valido si desidera iniziare da zero, potrebbe non essere troppo difficile se si utilizza l'attributo HTML contenteditable ¹. Quando l'utente modifica il contenuto di <div contenteditable="true" /> , invia le modifiche al server, ottiene l'elenco dei sinonimi e decora <div /> sottolineando le parole che hanno sinonimi. Una volta che l'utente fa clic su una parola sottolineata, compila l'elenco dei sinonimi.

¹ Questo attributo sembra essere un HTML 5, ma ha un buon supporto nei browser legacy. Ricordo di averlo usato qualche anno fa, dove HTML 5 non era così conosciuto o usato.

    
risposta data 19.08.2012 - 16:05
fonte

Leggi altre domande sui tag