Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 插入符号索引位置跨浏览器?_Javascript_Caret - Fatal编程技术网

Javascript 插入符号索引位置跨浏览器?

Javascript 插入符号索引位置跨浏览器?,javascript,caret,Javascript,Caret,我正在制作一个所见即所得编辑器,我需要知道如何使插入符号位置工作。似乎没有明显的跨平台方法 我只需要语法。请不要把我指向Mozilla开发者页面;我觉得它不是特别有用。 我使用的是一个内容可编辑的div 试试这个 function doGetCaretPosition (oField) { // Initialize var iCaretPos = 0; // IE Support if (document.selection) { // Set focus on the

我正在制作一个所见即所得编辑器,我需要知道如何使插入符号位置工作。似乎没有明显的跨平台方法

我只需要语法。请不要把我指向Mozilla开发者页面;我觉得它不是特别有用。 我使用的是一个内容可编辑的div

试试这个

function doGetCaretPosition (oField) {

 // Initialize
 var iCaretPos = 0;

 // IE Support
 if (document.selection) { 

   // Set focus on the element
   oField.focus ();

   // To get cursor position, get empty selection range
   var oSel = document.selection.createRange ();

   // Move selection start to 0 position
   oSel.moveStart ('character', -oField.value.length);

   // The caret position is selection length
   iCaretPos = oSel.text.length;
 }

 // Firefox support
 else if (oField.selectionStart || oField.selectionStart == '0')
   iCaretPos = oField.selectionStart;

 // Return results
 return (iCaretPos);
}

它是在Internet Explorer 10+?@IgorEscobar上测试的,selecion API支持IE9+,如图所示