`

jquery仿邮件收件人删除事件

阅读更多

//获取文本框光标位置:javascript版本
function getCursortPosition(domObj) {
	var position = 0; 

	if (document.selection) {	//for IE
		domObj.focus();
		var sel = document.selection.createRange();
		sel.moveStart('character', -domObj.value.length);

		position = sel.text.length;
	} else if (domObj.selectionStart || domObj.selectionStart == '0') {
		position = domObj.selectionStart;
	}
	return position;
}

//获取文本框光标位置:jquery版本
function getCursortPosition2(domObj) {
	var position = 0; 

	if (document.selection) {	//for IE
		domObj.focus();
		var sel = document.selection.createRange();
		sel.moveStart('character', -domObj.val().length);

		position = sel.text.length;
	} else if (domObj.selectionStart || domObj.selectionStart == '0') {
		position = domObj.selectionStart;
	}
	return position;
}

$(function(){
	//添加收件人删除功能
	$('#').keydown(function(event){
		var myEvent = event || window.event;
        var kcode = myEvent.keyCode|| myEvent.which;
        var value = $(this).val();
        if(kcode==37 || kcode==39){
        	return true;
        }
        
        if(kcode == 8){
        	var a = getCursortPosition2($(this));
        	//截断value值
        	var firstValue = value.substr(0,(a/1)>0?(a):0);
        	var lastValue = value.substr(a);
        	//根据索引判断
        	var firstIndexOf = firstValue.lastIndexOf(";");
        	var lastIndexOf = lastValue.indexOf(";");
        	 
        	if(fastIndexOf==-1){//选择第一个收件人的判断:直接丢弃firstValue,保留lastValue从第一个;之后的值
        		$(this).val(lastValue.substr(lastIndexOf+1));
        	}else if(lastIndexOf==-1){//选择最后一个人的判断:由于选择最后一个,重新设置值,并减少最后一个; 再次排除最后一个;后面的值
        		firstValue = value.substr(0,(a/1)>0?(a-1):0);
        		$(this).val(firstValue.substr(0,firstValue.lastIndexOf(";")+1));
        	}else{//选择中间的收件人的判断:保留fisrtValue从索引0开始到第一个firstIndexOf+1,并加上lastValue从索引(lastIndexOf+1)到最后的值
        		$(this).val(firstValue.substr(0,firstIndexOf+1)+(lastIndexOf>0?lastValue.substr(lastIndexOf+1):""));
        	}
        }
        
        return false;
	});
});

 

  • 大小: 1.1 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics