2013-05-21 39 views
0

我知道使用JavaScript/jQuery集中輸入非常容易,但可以將輸入集中在某個字符上嗎?Focus Input Mid-Way Through Text

所以藉此輸入:

inputExample

有沒有可能到焦點的元素,並有光標放在第一句後,例如?

回答

1

肯定的:

$('#inputID').focus().get(0).setSelectionRange(12, 12); 

作品在大多數瀏覽器,但舊的IE使用createTextRangemove()

FIDDLE

編輯:

5分鐘插件:

$.fn.setCaret = function(pos) { 
    return this.each(function() { 
     var elem = this, 
      range; 

     if (elem.createTextRange) { 
      range = elem.createTextRange(); 
      range.move('character', pos); 
     } else { 
      if (elem.selectionStart !== undefined) { 
       elem.setSelectionRange(pos, pos); 
      } 
     } 
    }); 
} 

被稱爲像:

$('#inputID').focus().setCaret(12); 

FIDDLE

+0

甜,謝謝!不知道那setSelectionRange()! 另外:可能要使用香草JS而不是設置插件。它的工作方式使我更容易。儘管嘗試點! –

+0

@ Dropped.on.Caprica - 請注意,'setSelectionRange'只適用於IE9,如果您打算支持IE8及更低版本,舊版本需要上面的'range.move()'代碼。 – adeneo

+0

對。我正在從事的網站甚至沒有技術支持IE,所以我不擔心不符合標準的瀏覽器。不過要記住的好東西,謝謝你的提示。 –

相關問題