ionic js input光标重新定位

本文介绍了一个使用AngularJS实现的输入框键盘事件处理方法,包括如何监听键盘按键、处理特定按键(如回车、删除和退格键)的逻辑,并通过JavaScript实现了银行卡号输入时的格式化效果。

html 代码 : 

<body ng-app="order" ng-controller="orderXqCtl">
	<ion-view>
		<ion-content>
			...
			<input type="text" style="padding:0;" ng-model="card" ng-click=""  ng-keyup="duan($event)" id="kh">
                        ...


js 代码:

.controller('bankEditCtl', function ($scope, $http, $ionicBackdrop) {
        ...
        $scope.duan = function (e) {
            var keycode = window.event ? e.keyCode : e.which;
            console.log(keycode);
            if (keycode != 13 && keycode != 8 && keycode != 46) {
            	var index_focus = e.target.selectionStart;//获取当前鼠标光标
                document.getElementById("kh").value = document.getElementById("kh").value.replace(/\s/g, '').replace(/(\d{4})(?=\d)/g, "$1 ");//执行空格填充之后,光标会被定位到末尾
                if (index_focus>4 && index_focus%5 == 0){//防止填充空格的影响
                	index_focus+=1;
                }
                document.getElementById("kh").setSelectionRange(index_focus, index_focus); //重新定位光标位置
            }
        };

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值