Javascript onchange funzionante in textarea (browser Symbian)
-
19-08-2019 - |
Domanda
Questo può applicarsi ad altri ambienti operativi mobili oltre a Symbian ... Tuttavia, il problema è che quando si modifica un campo di area di testo, vorrei aggiornare un conteggio durante la digitazione. Questo è facile da realizzare nella maggior parte dei browser con qualcosa di simile sul tag textarea:
onkeyup="document.getElementById('size').innerHTML=this.value.length;
Tuttavia, in Symbian, l'evento onkeyup non sembra attivarsi normalmente (sembra che tutti gli input siano bufferizzati o qualcosa del genere). Ora posso sostituirlo con:
onblur="document.getElementById('size').innerHTML=this.value.length;
... Funziona bene, ma ovviamente aggiorna il DIV solo quando si perde lo stato attivo (che è meglio di niente ma non è bello come averlo aggiornare mentre si digita).
Qualcuno ha riscontrato problemi come questo in particolare su Symbian? Su qualsiasi altro browser mobile? Qualche idea / soluzione?
Odio Symbian da quando ho iniziato ad usarlo - ci sono così tante stranezze come questa nelle loro API. Voterò tutti coloro che si lamentano di Symbian. ; -)
Soluzione
Nella versione di WebKit di Symbian, gli eventi della tastiera sono incasinati in modo regale. L'unico modo affidabile per gestirli è impostare il gestore sul documento [!]. Ora, NON l'ho provato nella situazione in cui textarea è focalizzata ma funziona sicuramente con controlli più semplici. Fondamentalmente, si utilizza onfocus e onblur per associare / dissociare i gestori di eventi specifici del controllo con il documento. Ovviamente se vuoi creare un widget riutilizzabile in quel modo, sei in un mare di dolore :(
OTOH, se ti lamenti della piccola stranezza della tastiera di Symbian, dai un'occhiata agli eventi del mouse nel mini-Chrome di Android ... quelli vanno sotto la voce FUBAR!
... Max ...
PS. Se hai bisogno di ulteriore aiuto: max-at-motovilov-dot-com. Dovresti essere in grado di cercare su Google questo problema su forum.nokia.com ma le informazioni non sono abbondanti ... sono tutte prove ed errori.