繁体   English   中英

在IE中获得带空格的插入位置

[英]getting caret position with spaces in IE

问题在于空间。 有时如果插入符号在空格上,它会忽略空格并找到最后一个字符的位置(这不是空格)。 在本演示中,如果单击字母c的右侧,则将插入符号位置显示为3.然后单击字母d左侧(沿着一个字符),它仍显示插入符号位置为3.但是如果单击左侧第一个,然后它显示位置4(正确的位置)。 如果有人可以看看我的jsFiddle,试试这个也许你可以找到一个解决方案。 谢谢。

注意,此代码仅适用于IE。

$('input').click(function(){
  var Sel = document.selection.createRange();
      Sel.moveStart('character', -this.value.length);
      CaretPos = Sel.text.length;
  $('span').text(CaretPos);

});

selectionStart 在最新的IE,Firefox和Chrome浏览器。

$('input').click(function(){
    this.focus();
     /**var Sel = document.selection.createRange();
     Sel.moveStart('character', -inelem.value.length);
     CaretPos = Sel.text.length;*/
    CaretPos = this.selectionStart;   
    $('span').text(CaretPos);
});

但是,如果您担心支持旧的IE版本,则可以有条件createRangeselectionStart调用createRange 检查这个版本的小提琴。 doGetCaretPosition基于链接

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM