Domanda

Atleast che definisce il mio problema è semplice ... Ho un controllo di input (testo) e una funzione javascript, che tronca il testo nel controllo di input a 15 caratteri. cioè se la lunghezza supera il limite, sinistra (testo, 15) viene ripristinata al controllo.

Questo è gestito attraverso l'evento onkeyup ...

Ora, quando l'utente trascina e rilascia il testo direttamente nel controllo Input, l'evento non viene generato poiché non è coinvolta alcuna tastiera. In tal caso, quale evento viene generato ... o come eseguo la funzione javascript in quello scenario.

È stato utile?

Soluzione

Ad eccezione di onkeyup, prova a gestire anche onmouseup . Dovrebbe attivarsi quando si rilascia il pulsante del mouse nella casella di input (in altre parole, quando si rilascia il testo).


Modifica: apparentemente onmouseup si attiva solo se è stato fatto clic anche sul pulsante del mouse nella casella di input, ma onfocus dovrebbe attivarsi quando la casella di input riceve lo stato attivo quando si rilascia il testo.

Esempio:

document.getElementById('elementid').onkeyup  = function()
{
   // Restrict value length to 15 characters
};
document.getElementById('elementid').onfocus = document.getElementById('test').onkeyup;
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top