Sto facendo uso di un div contentedit in combinazione con la libreria Javascript rangy per inserire HTML nella posizione del cursore.div contenteditable: IE8 non felice con la rimozione backspace dell'elemento HTML
Fine della giornata il contenuto del div appare comunemente come:
<div contenteditable="true">
"Hello "
<button contenteditable="false" data-id="147">@John Smith</button>
" "
</div>
utenti vengono proposti alla pressione '@' e ottenere in seguito inserito come un pulsante quando selezionato (ala Google Plus). Inserisco anche un
dopo questo pulsante.
Il pulsante viene rimosso in Chrome/Safari/Firefox quando si preme backspace (dopo aver rimosso prima il
), ma non in IE8. In IE8 il cursore salta semplicemente sopra il pulsante senza rimuoverlo. Ciò che è ancora più bizzarro in IE8 è se lasci lo
vicino al pulsante - e posiziona il cursore proprio accanto al pulsante - rimuove il pulsante sul backspace. Quindi è felice quando c'è un
alla destra del cursore.
Qualcuno sa di cosa ho bisogno per far funzionare IE8 i.t.o. rimuovendo il pulsante su backspace senza la necessità di un
alla destra del cursore? (alcune informazioni su questo strano comportamento potrebbero anche aiutare)
P.S. Non ho ancora testato le altre versioni di IE
Perché avete la contenteditable = false sul pulsante? – MorganTiley
In modo che lo cancelli dal DOM (in un colpo solo) quando si preme backspace o quando si preme delete (questo attualmente funziona in Chrome/Safari/Firefox). Se contenteditable = true, il testo del pulsante diventa modificabile, il che non è il mio caso d'uso. –
fico, non lo sapevo. (Non ho lavorato con gli input in contEd prima). Che dire della gestione del keydown backspace e del controllo del parallelismo del primo nodo nell'intervallo di selezione? – MorganTiley