如何使用javascript获取文本光标位置
这是我的代码,我填充 div 中的所有空间,(使用 jquery):
<div id="a" style="position:absolute;top:300px;width:100px;height:100px;background:red;color:black;word-wrap:break-word;">
<div id='a2' contenteditable=true ></div>
</div>
<script type="text/javascript">
String.prototype.repeat = function(n) {
return new Array(1 + parseInt(n, 10)).join(this);
}
var s=$('#a').width()/4*$('#a').height()/19;
$('#a2').html(' '.repeat($('#a').width()/4*parseInt($('#a').height()/19)))
$('#a2').click(function(){
alert('sss')
})
</script>
那么当我单击“a2”div 中的某处时如何获取文本光标位置
演示是 http://jsfiddle.net/KBnKc/
谢谢
this is my code ,i fill space all in div ,(use jquery):
<div id="a" style="position:absolute;top:300px;width:100px;height:100px;background:red;color:black;word-wrap:break-word;">
<div id='a2' contenteditable=true ></div>
</div>
<script type="text/javascript">
String.prototype.repeat = function(n) {
return new Array(1 + parseInt(n, 10)).join(this);
}
var s=$('#a').width()/4*$('#a').height()/19;
$('#a2').html(' '.repeat($('#a').width()/4*parseInt($('#a').height()/19)))
$('#a2').click(function(){
alert('sss')
})
</script>
so how can i get the text cursor position when i click somewhere in 'a2' div
the demo is http://jsfiddle.net/KBnKc/
thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用 pageX 和 pageY jQuery 事件对象:返回的坐标是相对于文档左上角的。您可能想要使用A-Tools 插件,更具体地说是它的
getSelection()
方法。如果未选择任何文本,它将返回插入符号位置。顺便说一句,“文本光标”称为插入符号:)
编辑: 上述插件不适用于
contenteditable
元素。在寻找另一个解决方案时,我发现 这个问题 这是你的副本。也许那里的回复可以帮助你。
You can use the pageX and pageY property of the jQuery event object:The returned coordinates are relative to the top left of the document.You might want to use the A-Tools plugin, more specifically its
getSelection()
method. It returns the caret position if no text is selected.By the way, the "text cursor" is called the caret :)
EDIT: The aforementioned plugin will not work with
contenteditable
<div>
elements. While looking for another solution, I found that question which is a duplicate of yours. Maybe the responses there can help you.您可以使用 Prototype.js 获取鼠标位置:
请参阅原型参考:http://api .prototypejs.org/
you can use Prototype.js to get mouse position:
See prototype reference at: http://api.prototypejs.org/