Il cursore si comporta in modo strano nell'editor: scompare mentre lo sposto su/giù

Mentre sposti il cursore su/giù premendo le frecce su/giù, il cursore a volte scompare per mezzo secondo e ti fa chiedere: dov’è il cursore? L’ho spostato abbastanza su/giù? Sono sulla riga giusta?
Il cursore in realtà non scompare di per sé: continua a lampeggiare con l’intervallo corretto. Ma il modo in cui è attualmente implementato non è il modo in cui è implementato ovunque altro: negli editor di testo, negli input del browser, negli IDE, ecc.

Confronta.

Ecco il cursore in Discourse:

Nota come riesco facilmente a premere rapidamente su o giù due volte e a rendere invisibile il cursore mentre sono su una riga vuota. Questo mi fa sentire come se il cursore scomparisse e lo perdessi di vista, e quindi non potessi controllarlo con precisione.

Confrontalo con il funzionamento del cursore in JSFiddle, ad esempio:

Nota: non importa quanto velocemente premi il pulsante su/giù, il cursore è sempre visibile mentre si sposta da una riga all’altra. In altre parole, il lampeggiamento si “resetta” quando il cursore si sposta su un’altra riga.

Spero che i due video spieghino chiaramente il problema e rendano facile la sua risoluzione.

Sì, bug di Firefox.

Visto su Linux, non notato su Windows.

Vedi:

Vedi: https://bugzilla.mozilla.org/show_bug.cgi?id=226301

Ma aspetta, anche il mio secondo video è registrato in Firefox e non c’è un problema simile. Inoltre, conosco esattamente i passaggi per la riproduzione, non scompare “sporadicamente” come nel report a cui hai fatto riferimento. È perché jsfiddle utilizza il proprio meccanismo di rendering del cursore mentre Discourse utilizza l’area di testo predefinita e quindi è influenzato dal comportamento predefinito del cursore di Firefox?

JSFiddle non utilizza un’AREA DI TESTO, utilizza un elemento HTML contenteditable, l’AREA DI TESTO non supporta tutto quel highlighting.

Ti consiglio di pubblicare quel bug di Firefox che ho linkato, sembra esattamente quello che stai vedendo.

1 Mi Piace