Javascript 单击“选择输入文本框”后如何获取插入符号位置?
我有一个输入框,里面选择了文本 当我在选择区域内单击时,我希望接收插入符号位置 我看到的唯一有用的属性是selection start属性,但由于选中的输入框,它始终为0Javascript 单击“选择输入文本框”后如何获取插入符号位置?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个输入框,里面选择了文本 当我在选择区域内单击时,我希望接收插入符号位置 我看到的唯一有用的属性是selection start属性,但由于选中的输入框,它始终为0 如何接收单击的插入符号位置?在文本框中单击可以获得插入符号位置,但由于所选文本不是DOM节点,因此无法为所选部分分配单击事件。如果你只是想点击插入符号的位置,这将帮助你 function GetCaretPosition(ctrl) { var CaretPos = 0; // IE Support
如何接收单击的插入符号位置?在文本框中单击可以获得插入符号位置,但由于所选文本不是DOM节点,因此无法为所选部分分配单击事件。如果你只是想点击插入符号的位置,这将帮助你
function GetCaretPosition(ctrl) {
var CaretPos = 0; // IE Support
if (document.selection) {
ctrl.focus();
var Sel = document.selection.createRange();
Sel.moveStart('character', - ctrl.value.length);
CaretPos = Sel.text.length;
}
// Firefox support
else if (ctrl.selectionStart || ctrl.selectionStart == '0') CaretPos = ctrl.selectionStart;
return (CaretPos);
}
$(document).ready(function(e) {
$('.textBox').click(function(e) {
alert(GetCaretPosition(this));
});
});
选中这不是重复,因为我的问题发生在单击选定文本后,而不是在特定类型的元素上。基本上,你的意思是:我选择一个文本部分,然后在该选择中单击?(出于好奇,你需要它做什么?)是的,这就是我的意思,我需要它作为我正在开发的产品的一个要求,是否有一种方法可以在JQuery中实现?你是否尝试过调整其他答案中发布的代码?继续尝试,然后在这里发布一些到目前为止你所拥有的代码-我们会看一看。在jsBin上进行演示会很好