如何在textarea的游標位置插入文字

來源:互聯網
上載者:User

在網上看了很多用js在游標處插入文字的代碼,很多都沒有用,互抄而已,浪費時間。最近用到一個新方法,可以到達這個需求。IE支援document.selection,Firefox,Chrome,Safari以及Opera都有selectionStart和selectionEnd屬性。

效果示範

 歡迎訪問www.bkjia.com

 

 

代碼如下:

function insertText(obj,str) {    if (document.selection) {        var sel = document.selection.createRange();        sel.text = str;    } else if (typeof obj.selectionStart === 'number' && typeof obj.selectionEnd === 'number') {        var startPos = obj.selectionStart,            endPos = obj.selectionEnd,            cursorPos = startPos,            tmpStr = obj.value;        obj.value = tmpStr.substring(0, startPos) + str + tmpStr.substring(endPos, tmpStr.length);        cursorPos += str.length;        obj.selectionStart = obj.selectionEnd = cursorPos;    } else {        obj.value += str;    }}function moveEnd(obj){    obj.focus();    var len = obj.value.length;    if (document.selection) {        var sel = obj.createTextRange();        sel.moveStart('character',len);        sel.collapse();        sel.select();    } else if (typeof obj.selectionStart == 'number' && typeof obj.selectionEnd == 'number') {        obj.selectionStart = obj.selectionEnd = len;    }} 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.