簡體   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