lo general el uso accounting.js Puede descargarlo desde http://openexchangerates.github.io/accounting.js/#download
Es muy fácil de usar. Puedes ver cómo funciona desde la misma página de descarga.
he creado un par de funciones javascript que utilizo para hacer el manejo del cursor:
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();
}
}
}
Puede utilizar las funciones con el campo de texto como:
<input id="myField" type="text" onkeyup="formatMoney(this);" onChange="formatMoney(this);" onBlur="formatMoney(this);" />
La obtención y el símbolo de intercalación entorno las funciones de posición se obtuvieron desde aquí: Set keyboard caret position in html textbox
Lo probé con el emulador de Android 2.1. Aunque el emulador era lento, pero parecía estar funcionando. Puede encontrar la captura de pantalla aquí: https://www.dropbox.com/s/9ximuwh64kadiea/shot.JPG?dl=0
Después de luchar con máscaras numéricas, tuve que deshabilitarlas (y otras) para navegadores móviles. Por lo que sé, no hay soluciones temporales. – devundef
¿Esta versión del navegador Android no admite 'obj.selectionStart' y' obj.selectionEnd' correctamente? – scunliffe
Si ya está usando jQuery, ¿ha probado jQuery ++ (lo utilicé recientemente para la ubicación correcta de la posición de intercalación después de capturar la pestaña e ingresar las teclas presionadas)? Funciona muy bien cuando lo probé. De todos modos, siempre puedes usar sus métodos de Rango y Selección (sin necesidad de jQuery). jquerypp.com –