Puoi impostare e / o modificare la selezione del testo dell’utente in JavaScript?

In JavaScript, ci sono vari metodi per accedere alla selezione del testo dell’utente e creare selezioni di testo (o intervalli) – vedere http://www.quirksmode.org/dom/range_intro.html .

Come da quella pagina, puoi creare un intervallo a livello di codice e accedere al testo all’interno di esso. Tuttavia, ciò non cambia la selezione del testo dell’utente, né consente all’utente di avere del testo selezionato se non lo ha già fatto.

Puoi impostare e / o modificare la selezione del testo dell’utente in JavaScript?

    Sì. In tutti i browser è ansible ottenere uno o più Range o un TextRange dalla selezione dell’utente, e sia Range che TextRange hanno metodi per modificare il contenuto dell’intervallo.

    AGGIORNARE

    Puoi impostare la selezione dell’utente creando un Range e aggiungendolo all’object Selection nella maggior parte dei browser e creando un TextRange e chiamando il suo metodo select() in IE < = 8.

    Ad esempio, per impostare la selezione in modo da includere il contenuto di un elemento:

     function selectElementContents(el) { if (window.getSelection && document.createRange) { var sel = window.getSelection(); var range = document.createRange(); range.selectNodeContents(el); sel.removeAllRanges(); sel.addRange(range); } else if (document.selection && document.body.createTextRange) { var textRange = document.body.createTextRange(); textRange.moveToElementText(el); textRange.select(); } } 

    Esistono anche diversi metodi dell’object Selection che possono essere utilizzati per modificare la selezione dell’utente in browser non-IE. Se si può essere più specifici su come si desidera modificare la selezione, sarà più semplice aiutare.