`
莫生气
  • 浏览: 866201 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

js实现光标定位

阅读更多
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>光标位置</title>
<style>
INPUT{border: 1 solid #000000}
BODY,TABLE{font-size: 10pt}
</style>
</head>

<body>


<table border="0" width="700" cellspacing="0" cellpadding="0">
  <tr>
    <td width="479" rowspan="7">
点击 TextArea 实现光标定位                                    
                                    
<p>                                    
<textarea rows="7" cols="49" id="box" onclick=tellPoint()>我怕来不及我要抱着你,直到感觉你的绉纹有了岁月的痕迹,直到视线变得模糊直到不能呼吸
为了你我愿意
动也不能动也要看着你,直到感觉你的发线有了白雪的痕迹,直到肯定你是真的直到失去力气让我们形影不离
如果全世界我也可以放弃,至少还有你值得我去珍惜而你在这里就是生命的奇迹
也许全世界我也可以忘记,就是不愿意失去你的消息你掌心的痣我总记得在哪里
我们好不容易我们身不由已,我怕时间太快不够将你看仔细,我怕时间太慢日夜担心失去你恨不得一夜之间白头永不分离
</textarea>       
     
<script>     
     
function movePoint()     
{     
	var pn = parseInt(pnum.value);     
	     
	if(isNaN(pn))     
		return;     
	     
	var rng = box.createTextRange(); 
		     
	rng.moveStart("character",pn);     
	     
	rng.collapse(true);	     
	     
	rng.select();     
	     
	returnCase(rng)	     
		     
}     
     
function tellPoint()     
{     
	var rng = event.srcElement.createTextRange();	
     
	rng.moveToPoint(event.x,event.y);	     
	rng.moveStart("character",-event.srcElement.value.length)	     
	     
	pnum.value = rng.text.length     
	     
	returnCase(rng)     
}     
     
     
function returnCase(rng)     
{     
	bh.innerText = rng.boundingHeight;     
	bl.innerText = rng.boundingLeft;     
	bt.innerText = rng.boundingTop;     
	bw.innerText = rng.boundingWidth;     
	ot.innerText = rng.offsetTop;     
	ol.innerText = rng.offsetLeft;     
	t.innerText  = rng.text;  
}     
     
     
function selectText(sp,ep)     
{     
	sp = parseInt(sp)     
	ep = parseInt(ep)     
	     
	if(isNaN(sp)||isNaN(ep))     
		return;     
		     
	var rng = box.createTextRange();     
	     
	rng.moveEnd("character",-box.value.length)     
	rng.moveStart("character",-box.value.length)     
	     
	rng.collapse(true);     
	     
	rng.moveEnd("character",ep)     
	rng.moveStart("character",sp)     
	     
	rng.select();     
	     
	returnCase(rng);     
}     

var rg = box.createTextRange();
     
function findText(tw)     
{     
	if(tw=="")     
		return;        
	     
	var sw = 0;     
	     
	if(document.selection)     
	{     
		sw = document.selection.createRange().text.length;     
	}	     
	     
	rg.moveEnd("character",box.value.length);     
	     
	rg.moveStart("character",sw);     

			     
	if(rg.findText(tw))	     
	{     
		rg.select(); 

		returnCase(rg);	   
	}	
	
	if(rg.text!=tw)
	{
		alert("已经搜索完了")
		rg = box.createTextRange()
        }
		     
}     
     
</script>                                  
</p>                                    
<p></p>                                    
光标位置:<input type="text" value="0" id="pnum" size="8"> <input type="button" onclick="movePoint()" value="移动光标到指定位置">                                 
<p></p>                               
选择指定范围:<input type="text" size="9" id="sbox"> -- <input type="text" size="9" id="ebox"> <input type="button" onclick="selectText(sbox.value,ebox.value)" value="选择">                                
<p></p>                    
选择查找字符 :<input type="text" value="" id="cbox" size="8"> <input type="button" onclick="findText(cbox.value)" value="查找下一个并选择">                                 
                    
    </td>                              
    <td width="217">boundingHeight: <span id="bh"></span></td>                              
  </tr>                              
  <tr>                              
    <td width="217">boundingWidth: <span id="bw"></span></td>                              
  </tr>                              
  <tr>                              
    <td width="217">boundingTop: <span id="bt"></span></td>                              
  </tr>                              
  <tr>                              
    <td width="217">boundingLeft: <span id="bl"></span></td>                              
  </tr>                              
  <tr>                              
    <td width="217">offsetLeft: <span id="ol"></span> </td>                              
  </tr>                              
  <tr>                              
    <td width="217">offsetTop: <span id="ot"></span> </td>                              
  </tr>                              
  <tr>                              
    <td width="217">text: <span style="position: absolute; z-index: 10" id="t"></span> </td>                              
  </tr>                              
</table>                              
</body>                                    
                                    
</html>                                    
分享到:
评论
2 楼 hoszb 2009-03-07  
不但只支持IE,而且只有在鼠标点击时能获取光标位置,用上下左右键就不行了
1 楼 zhaohuihua 2008-01-08  
不错
不过只支持IE,Fireox、Opera都不能运行

相关推荐

    js javascript 文本框一边输入一边后面跟个空格,并且光标在字符串后空格前,光标定位

    标题 "js javascript 文本框一边输入一边后面跟个空格,并且光标在字符串后空格前,光标定位" 描述的是一个JavaScript技术问题,涉及到实时文本输入时的自定义格式化以及光标位置控制。在这个场景下,用户在文本框中...

    页面一载入光标定位到文本框,并选中其中文字

    接下来,使用JavaScript来实现光标定位和文本选中。这可以通过监听页面的`DOMContentLoaded`事件来完成,确保在DOM完全加载后执行。以下是一个简单的JavaScript示例: ```javascript document.addEventListener...

    javascript 光标定位例子

    在这个"javascript 光标定位例子"中,我们关注的是如何在网页文本输入框内实现光标定位的功能,比如在微博应用中实现“@”功能。当用户在输入框中输入“@”时,通常会弹出一个下拉菜单供用户选择用户名,而在此过程...

    光标定位方法

    本文将详细介绍不同浏览器环境下实现光标定位的方法。 #### 一、获取光标位置 获取光标位置通常有两种方式:一种是针对IE浏览器的支持,另一种则是对Firefox和其他现代浏览器的支持。 ##### IE支持 对于Internet...

    将光标定位到textarea的某一行的javascript代码

    在网页开发中,有时我们需要实现一个功能,让用户能够快速地将光标定位到`textarea`元素的特定行。这个功能可以提升用户体验,特别是在处理大量文本输入时。在给定的标题和描述中,我们看到一个JavaScript函数`goL...

    js 中的selection对象使用笔记+光标定位

    综上所述,JavaScript中的`Selection`对象是处理用户在文档中选择文本的关键工具,配合`Range`对象,可以实现各种复杂的文本操作和光标定位功能。在开发富文本编辑器或者需要与用户交互的文本处理应用时,熟练掌握`...

    点击文本框,光标定位到首位置

    点击文本框,光标定位到首位置,Javascript实现的,效果不错。

    js/html光标定位的实现代码

    在本文中,我们主要通过JavaScript来实现一个自定义函数,用于实现光标定位的功能。这种方法不仅可以帮助我们更好地控制页面元素,还可以在特定条件下提供更加个性化的用户体验。 首先,光标定位的基本实现原理是...

    Javascript 获取光标位置

    这个功能可以帮助开发者精确地控制用户在文本输入框中的光标定位,例如在某些特定字符后插入文本或执行其他操作。 在JavaScript中,获取光标位置主要有两种方式: 1. **基于`input`或`textarea`元素**: 对于`...

    输入密码时显示密码及光标定位到末尾

    总结起来,"输入密码时显示密码及光标定位到末尾"这一功能的实现涉及HTML、CSS和JavaScript的综合运用,它不仅提升了用户体验,也体现了前端开发中对用户隐私和安全性的重视。通过理解和掌握这些技术,开发者能够...

    javascript textarea光标定位方法(兼容IE和FF)

    在本文中,我们将探讨如何在 textarea 元素中实现光标定位,同时确保兼容 Internet Explorer(IE)和 Firefox(FF)这两种主要的浏览器。 在 textarea 中设置光标位置是一个常见的需求,特别是在用户交互场景中,如...

    Vue中div contenteditable 的光标定位方法

    4. 光标定位的具体实现: 我们可以创建一个名为`keepLastIndex`的函数,该函数能够获取当前窗口的选择范围(Range),并将其移动到div的末尾。这样无论内容如何更新,光标都会被正确地放置在最后。 在函数中,首先...

    将光标定位于输入框最右侧实现代码

    总的来说,将光标定位到输入框最右侧是一种常见的前端交互需求,通过结合使用`focus`方法和对输入框值的操作,我们可以实现这一功能。这种技术在各种富文本编辑器、动态表单和自定义编辑场景中都有应用,提升了用户...

    文本域定位光标并添加数据

    本文将深入探讨如何在文本域中进行光标定位以及如何在特定位置添加数据。这些功能对于构建交互性强、用户体验良好的应用程序至关重要。 首先,我们要理解“文本域”(Text Field)。在HTML中,`&lt;input type="text"&gt;...

    实现鼠标动态吸附线条的js代码

    这个js文件实现了鼠标放在页面上,就可以动态吸附线条的动画效果,将js文件放在&lt;body&gt;&lt;/body&gt;里面引入[removed][removed]就可以实现效果了

    js实现自动轮播图选项卡效果(光标移入暂停).pdf

    实现光标移入暂停效果的思路可以分为以下几个步骤: 1. 监听鼠标移入事件,暂停自动轮播图效果。 2. 监听鼠标移出事件,恢复自动轮播图效果。 六、总结 通过上述分析,我们可以看到 JavaScript 实现自动轮播图...

    JavaScript实现点击文本自动定位到下拉框选中操作

    1. JavaScript基础知识:JavaScript是一种动态的编程语言,用于网页开发,可以改变页面内容而不必重新加载页面。JavaScript可以用来改变网页的样式、布局、内容等等。 2. HTML表单元素:HTML中的form元素用于创建一...

    JS将光标聚焦在文本最后的实现代码

    例如,可以使用`window.getSelection()`和`Range`来替换上面的`TextRange`部分,以实现跨浏览器兼容的光标定位。 总的来说,这段代码展示了如何在JavaScript中利用特定的浏览器API(如`TextRange`)来控制文本...

    JavaScript记录光标在编辑器中位置的实现方法_.docx

    JavaScript记录光标在编辑器中位置的实现方法是网页交互中的一个重要功能,它涉及到用户输入时的光标定位。在富文本编辑器或者简单的文本输入框中,有时我们需要记录用户在输入时光标的位置,以便在某些操作后能恢复...

Global site tag (gtag.js) - Google Analytics