如何在光标处输入内容

龙思霓 2013-09-25 09:45:19
$.fn.extend({
position1:function(value){
var elem = this[0];
if (elem&&(elem.tagName=="TEXTAREA"||elem.type.toLowerCase()=="text")) {
if($.browser.msie){
var rng;
if(elem.tagName == "TEXTAREA"){
rng = event.srcElement.createTextRange();
rng.moveToPoint(event.x,event.y);
}else{
rng = document.selection.createRange();
}
if( value === undefined ){
rng.moveStart("character",-event.srcElement.value.length);
return rng.text.length;
}else if(typeof value === "number" ){
var index=this.position();
index>value?( rng.moveEnd("character",value-index)):(rng.moveStart("character",value-index));
rng.select();
}
}else{
if( value === undefined ){
return elem.selectionStart;
}else if(typeof value === "number" ){
elem.selectionEnd = value;
elem.selectionStart = value;
}
}
}else{
if( value === undefined )
return undefined;
}
}
});

var teleNumIndex;

/**
* 设定当前光标的位置
*/
function fixCursorPosition(){
if($.browser.msie){
$("#dialTxt").select();
var range = document.selection.createRange();
range.moveStart('character',teleNumIndex);
range.collapse(true);
range.select();
}else{
$("#dialTxt").get(0).setSelectionRange(teleNumIndex,teleNumIndex);
$("#dialTxt").get(0).focus();
}
}


/**
* 通过拨号盘设置电话号码
*/
function setOBNumber(number)
{
//根据光标位置,在光标位置加一个数字
var xxx = teleNumIndex;
var teleNumber = $("#dialTxt").val();
if(teleNumber.length >= 24)
{
return;
}
var lastValue = "";
for(var i = 0; i < teleNumber.length + 1; i++){
if(i == teleNumIndex){
lastValue += number;
}
lastValue += teleNumber.charAt(i);
}
if(lastValue == "") lastValue = number;
$("#dialTxt").val(lastValue);
teleNumIndex++;
fixCursorPosition();
}
...全文
657 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
龙思霓 2013-09-29
  • 打赏
  • 举报
回复

function delOBNumber()
{
	var number = "" + $("#agentCall_telephoneDial_phoneNumber").val();
	if(number.length > 0)
	{
		if(teleNumIndex <= 0) return false;
		var lastValue = "";
		//根据光标位置,删除光标前一个数字
		for(var i=0; i<number.length; i++){
			if(i != teleNumIndex-1) lastValue += number.charAt(i);
		}
		$("#agentCall_telephoneDial_phoneNumber").val(lastValue);
	}
	teleNumIndex--;
	if(teleNumIndex < 0) teleNumIndex = 0;
	fixCursorPosition();	
}
龙思霓 2013-09-26
  • 打赏
  • 举报
回复

/**
 * DIV监听捕捉回车键
 */
function ListenKey(evt)
{
	evt = (evt)? evt : window.event;
	var keycode = evt.keyCode?evt.keyCode:evt.which;
    if(keycode == 13)
	{
    	if (evt.stopPropagation) // for Mozilla and Opera 
		{			
    		evt.stopPropagation(); 
    		evt.preventDefault();
		}
		else if(window.event) // for IE
		{			
			window.event.cancelBubble = true; 
			window.event.returnValue = false;
		}
    	// 回车键后,手动呼出
    	phoneNum('Call');
	}
    else if (evt.shiftKey)
    {
    	if (51 == keycode //shift + 3 = #
    	 || 56 == keycode //shift + 8 = *
    	 || keycode == 35 //end
    	 || keycode == 36 //home
    	 || keycode == 37 //←
    	 || keycode == 39 //→
    	 )
    	{
			return true;
    	}
    }
    else if ((keycode >= 48 && keycode <= 57)
        	|| (keycode >= 96 && keycode <= 105) 
        	|| keycode == 46 //delete
	    	|| keycode == 8 //backspace 
	    	|| keycode == 9 //tab键
	    	|| keycode == 35 //end
	    	|| keycode == 36 //home
	    	|| keycode == 37 //←
	    	|| keycode == 39 //→
	    	// || keycode == 45 //-  //注释掉,另,修改文本框 keyup事件,修改问题单DTS2011041104803,
	    	|| keycode == 106 //小键盘 *
	    	)
    { 
    	return true;
    }
    else if (evt.ctrlKey)//开放复制粘贴
    {
    	if (keycode == 67  //c  复制
    	 || keycode == 86  //v  粘贴
    	 || keycode == 88  //x  剪切
    	 || keycode == 90  //z  撤销
    	 || keycode == 65  //a  全选
    	 )
    	{
    		return true;
    	}
    }    
	return false;
}
龙思霓 2013-09-25
  • 打赏
  • 举报
回复
$('#dialTxt').click(function(){ teleNumIndex = $('#dialTxt').position1(); }); $('#dialTxt').keyup(function(){ teleNumIndex = $('#dialTxt').position1(); });
在Excel使用过程中,运用一些技巧会使得我们的工作效率提高很多。而这些技巧往往又被忽略或忘记怎么去使用。本套课程基于此整理了一些Excel方面的技巧,这些呢为学习笔记集锦,前后章内容不存在连贯性,仅整理一些常用的技巧与大家分享。l  本课程知识点l  第1节:概述、使用excel必会技巧之隐藏自己的工作表l  第2节:excel单元格任意区域禁止输入重复值设置技巧l  第3节: 一键快速删除工作表重复数据l  第4节:追踪所引用的单元格,查找数据来源l  第5节: 自动查找工作表中的错误数据l  第6节:快速在单元格中创建下拉按钮,内容直接选择不需输入l  第7节: 自动选择不重复的数据并复制到指定位置l  第8节:光标进入单元格时自动弹出提示内容l  第9节: 使用特殊符号将单元格内容分列并复制到指定区域l  第10节: Excel鼠标模式和触摸模式自由切换l  第11节:快速冻结首行和首列单元格l  第12节: 将打印预览和打印添加到快捷操作栏上l  第13节: 在录入日期的时候限制日期范围,错误则弹出提示l  第14节: Excel内置的屏幕截图工具操作方法l  第15节:插入注册商标符号及特殊符号l  第16节:在Excel工作表中插入艺术字并对艺术字特殊效果理l  第17节: 对excel工作表中的多列数据同时排序l  第18节: 将选定的区域放大到恰好容纳位置l  第19节:按姓名或中文汉字笔画进行排序l  第20节: 按单元格颜色进行排序l  第21节:excel按行也可以排序l  第22节: excel中的数据快速条件筛选l  第23节:巧妙删除带有空格的单元格所在的行的内容l  第24节: 巧用辅助列进行筛选l  第25节:对中文汉字繁体字和简体字快速转换l  第26节: 隐藏最近使用的文件列表l  第27节:使用图标或等级符号标记单元格l  第28节: 自动套用主题单元格样式l  第29节: 插入超链接删除超链接l  第30节:绘图格式形状效果形状轮廓

2,099

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧