2013-04-26 82 views
10

在我的項目中,我試圖將插入符的位置始終設置爲文本的末尾。我知道這是默認行爲,但是當我們動態地添加一些文本時,插入符號位置會變成Chrome和Firefox的起始點(IE很好,很棒)。設置插入符的位置始終以contenteditable結束

無論如何,使其在鉻和Firefox的正常工作?

這裏是fiddle

<div id="result" contenteditable="true"></div> 
<button class="click">click to add text</butto> 

var result = $('#result'); 
$('.click').click(function() { 
    var preHtml = result.html(); 
    result.html(preHtml + "hello"); 
    result.focus(); 
}); 

我嘗試添加setStart和本link但沒有使用提及setEnd

+0

http://stackoverflow.com/questions/2871081/jquery-setting-cursor-position-in-contenteditable-div請檢查。 – rahularyansharma 2013-04-26 07:23:14

+0

@rahularyansharma謝謝..這不工作。 (也許我做錯了,因爲我在JS中很窮)。 – 2013-04-26 07:29:22

+0

我也檢查一樣。請給我一些時間。 – rahularyansharma 2013-04-26 07:31:26

回答

19

我得到了解決方案here感謝蒂姆下來:)。問題是由jwarzech在comments提到,我打電話

placeCaretAtEnd($('#result')); 

而不是

placeCaretAtEnd(($('#result').get(0)); 

Working Fiddle

+0

太好了。正在尋找這個相當長的一段時間。很高興找到一個工作解決方案。 – jsbisht 2015-11-12 07:23:24

+0

同樣在這裏,它的作品,謝謝! – RafaSashi 2017-03-09 12:32:59

+0

如果您使用文本添加另一個嵌套範圍,則此小提琴不起作用,插入點的焦點將進入嵌套範圍。 – 2018-02-27 09:29:44

相關問題