Io di solito uso accounting.js È possibile scaricarlo da http://openexchangerates.github.io/accounting.js/#download
E 'abbastanza facile da usare. Puoi vedere come funziona dalla stessa pagina di download.
ho creato un paio di funzioni javascript che io uso per fare la gestione del cursore:
function formatMoney(myField){
if(myField.selectionStart || myField.selectionStart == '0'){
var len = myField.value.length;
var caretPos = doGetCaretPosition(myField);
myField.value = accounting.formatMoney(myField.value);
var newlen = myField.value.length;
setCaretPosition(myField, newlen != len ? (newlen > len ? caretPos + 1 : caretPos - 1) : caretPos);
}
}
function doGetCaretPosition (ctrl) {
var CaretPos = 0;
// IE Support
if (document.selection) {
ctrl.focus();
var Sel = document.selection.createRange();
Sel.moveStart ('character', -ctrl.value.length);
CaretPos = Sel.text.length;
}
// Firefox support
else if (ctrl.selectionStart || ctrl.selectionStart == '0')
CaretPos = ctrl.selectionStart;
return (CaretPos);
}
function setCaretPosition(elem, caretPos) {
elem.value = elem.value;
if(elem != null) {
if(elem.createTextRange) {
var range = elem.createTextRange();
range.move('character', caretPos);
range.select();
}
else {
if(elem.selectionStart) {
elem.focus();
elem.setSelectionRange(caretPos, caretPos);
}
else
elem.focus();
}
}
}
È possibile utilizzare le funzioni con il campo di testo come:
<input id="myField" type="text" onkeyup="formatMoney(this);" onChange="formatMoney(this);" onBlur="formatMoney(this);" />
Il recupero e il cursore di impostazione le funzioni di posizione sono state ottenute da qui: Set keyboard caret position in html textbox
L'ho provato su emulatore Android 2.1. Anche se l'emulatore era lento ma sembrava funzionare. Potete trovare lo screenshot qui: https://www.dropbox.com/s/9ximuwh64kadiea/shot.JPG?dl=0
Dopo aver lottato con le maschere numeriche, ho dovuto disabilitarli (e altri) per i browser mobili. Per quanto ne so, non ci sono soluzioni alternative. – devundef
Questa versione del browser Android non supporta correttamente 'obj.selectionStart' e' obj.selectionEnd'? – scunliffe
Se stai già utilizzando jQuery, hai provato jQuery ++ (l'ho usato di recente per posizionare correttamente la posizione del cursore dopo aver acquisito la scheda e premuto i tasti)? Funziona alla grande quando l'ho provato. Indipendentemente da ciò, puoi sempre usare i loro metodi Range e Selection (senza bisogno di jQuery). jquerypp.com –