모바일 뱅킹 애플리케이션을 개발 중이며 통화 금액 입력을 실시간으로 형식화하는 데 관심이 있습니다.자바 스크립트 캐럿 위치
나는 이미 autoNumeric plugin과 jQuery Format Currency Plugin을 테스트했지만 둘 다 Android 2. * 브라우저에서 커서 위치 문제가 있습니다.
누구든지이 브라우저와 호환되는 JavaScript 솔루션을 보유하고 있습니까?
모바일 뱅킹 애플리케이션을 개발 중이며 통화 금액 입력을 실시간으로 형식화하는 데 관심이 있습니다.자바 스크립트 캐럿 위치
나는 이미 autoNumeric plugin과 jQuery Format Currency Plugin을 테스트했지만 둘 다 Android 2. * 브라우저에서 커서 위치 문제가 있습니다.
누구든지이 브라우저와 호환되는 JavaScript 솔루션을 보유하고 있습니까?
저는 autoNumeric에 대해 모르지만, http://code.google.com/p/jquery-formatcurrency/은 꽤 좋아 보입니다. 게시 한 jsFiddle 예제는 내 데스크톱 브라우저에 캐럿을 올바르게 배치하지 않지만 내 (Jellybean) Android 휴대 전화에도 올바르게 적용됩니다. (진저 브레드에서 커서가 깜빡 줄이 줄의 끝으로 이동 수도 있지만, 마지막으로 위치를 계속 편집됩니다.) 자신의 데모를보십시오 : http://www.bendewey.com/code/formatcurrency/demo/format_as_you_type.html
이 플러그인은 Andoid 2. * 브라우저에서 커서 위치 문제가 있습니다. –
나는 일반적으로 당신이 그것을 사용하기 매우 쉽게 http://openexchangerates.github.io/accounting.js/#download
에서 다운로드 할 수 있습니다 accounting.js 사용합니다. 같은 다운로드 페이지에서 어떻게 작동하는지 확인할 수 있습니다.
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();
}
}
}
당신은 같이 텍스트 필드 기능을 사용할 수 있습니다 :
<input id="myField" type="text" onkeyup="formatMoney(this);" onChange="formatMoney(this);" onBlur="formatMoney(this);" />
가 점점 설정 캐럿
나는 내가 커서 관리 작업을 수행하는 데 사용하는 몇 자바 스크립트 기능을 생성 위치 함수는 여기에서 가져 왔습니다. Set keyboard caret position in html textbox
Android 2.1 에뮬레이터에서 테스트했습니다. 에뮬레이터가 느리지 만 작동하는 것처럼 보였습니다. 당신은 여기에 스크린 샷을 찾을 수 있습니다 https://www.dropbox.com/s/9ximuwh64kadiea/shot.JPG?dl=0
나는 안드로이드 2.3.6 장치에서이 솔루션을 테스트했지만 불행히도 캐럿 위치의 문제가 남아 있습니다. –
여기에 오픈 소스, 잘 기여 잘 최선을 다하고 라이브러리 : https://github.com/plentz/jquery-maskmoney
그것은에 당신의 필요에 응답하지 않는 것 같다? Havent't는 Android에서도 테스트했습니다.
불행히도 거기에있는 것 같습니다 몇 가지 안드로이드 문제 : https://github.com/plentz/jquery-maskmoney/issues?utf8=%E2%9C%93&q=android –
나쁘다. 다음 번에 문제를 점검 할 것입니다. –
숫자 마스크로 어려움을 겪은 후 모바일 브라우저에서 해당 마스크를 비활성화해야했습니다. 내가 아는 한 해결 방법은 없습니다. – devundef
이 버전의 Android 브라우저는'obj.selectionStart' 및'obj.selectionEnd'를 제대로 지원하지 않습니까? – scunliffe
이미 jQuery를 사용하고 계시다면 jQuery ++를 사용해 보셨습니까? (저는 최근에 탭을 캡쳐하고 키를 누른 후 올바른 캐럿 위치 배치에 사용했습니다)? 내가 시험 할 때 위대한 작품. 그럼에도 불구하고 항상 Range 및 Selection 메서드를 사용할 수 있습니다 (jQuery가 필요 없음). jquerypp.com –