Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   PhoneNumber Mask - курсор прыгает в конец поля (https://javascript.ru/forum/events/36775-phonenumber-mask-kursor-prygaet-v-konec-polya.html)

yashka525 27.03.2013 00:19

PhoneNumber Mask - курсор прыгает в конец поля
 
Доброе время суток.

Когда пытаюсь изменить районный код - "(444)", удаляю "444", пытаюсь набрать 3-цифирный код, то курсор прыгает в конец поля.

Как это исправить?

function PhoneNumberMask(Element){
					
	var	Pattern = '(444) 555-5555',
		DigitsArray = Element.value.replace(/[a-zA-Z]/g, '').match(/\d/g),
		i = 0;
			
	if(DigitsArray === null) return;

	Element.value = Pattern.replace(/\d/g, function(a, b){

		if(DigitsArray.length) i = b + 1;

		return DigitsArray.shift();

	}).substring(0, i);
		
};

Listen(NewMemberPhone, 'keyup', function(event){
							
	Key = event.keyCode;
				
	if(Key != 8 && Key != 37 && Key != 39 && Key != 46){ //Not a backspace or arrows
					
		PhoneNumberMask(NewMemberPhone);
	
	}
	
});
			
Listen(NewMemberPhone, 'paste', function(){
				
	PhoneNumberMask(NewMemberPhone);
	
});


Часовой пояс GMT +3, время: 15:34.