2013-05-21 36 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,所以我不担心不符合标准的浏览器。不过要记住的好东西,谢谢你的提示。 –

相关问题