2011-07-13 126 views
5

我有這樣的文本框中:如何將光標移動到文本框中的文本框的前面?

<input type="text" name="url" id="url-input" /> 

和驗證碼:

var inputText = "Hello World"; 
$(document).ready(function() { 
    $("#url-input").focus(); 
    $("#url-input").val(inputText); 
}); 

因爲它是,將光標顯示在文本框的末尾顯示之後(不管字的「Hello World」以何種順序添加焦點或更改值)。我怎樣才能把它移到前面?

感謝

編輯 - 這裏的的jsfiddle:http://jsfiddle.net/dmRND/

回答

7

在體面的Web瀏覽器,你可以訪問selectionStartselectionEnd特性,這代表了選擇。當他們都0,它歸結爲沒有選擇和插入符號開頭:

$("#url-input").prop('selectionStart', 0) 
       .prop('selectionEnd', 0); 

http://jsfiddle.net/efek3/

的jQuery的另一件事是鏈接:$(...).func1().func2(),讓你一次只需要選擇。

還有的jQuery的另一件事是,大多數的功能支持對象作爲參數,所以你也可以這樣做:

$("#url-input").prop({ selectionStart: 0, 
         selectionEnd: 0 }); 
+0

謝謝你,這是偉大的。有沒有解決辦法IE8-? –

+0

@Nick Brunt:記得我這個答案:http://stackoverflow.com/questions/263743/how-to-get-cursor-position-in-textarea/3373056#3373056。 – pimvdb

相關問題