js獲取指定元素的游標位置,並在游標位置後增加值

2021-09-28 16:57:07 字數 1244 閱讀 7114

html**:js**:var mouseplace = getcursortposition(document.getelementsbyclassname("showoptions_content")[0]);//獲取游標的位置insertspan(".showoptions_content",mouseplace,"測試資料");//重新給類名為showoptions_content的元素重新賦值

/** * 插入指定元素到指定位置

* 引數:

* target:需要插入元素的目標id(在字串前加#,例:"#showoptions")或者class類名(在字串前加.例:".showoptions")

* placenum:插入到元素的位置,

* contentxt:需要插入的內容

* classname:需要往目標元素中插入的元素的類名,陣列(多個類名用)或者字串(單個類名),可以不傳

* **/

function insertspan(target,placenum,contentxt) else

}/**

* 獲取游標位置

* 引數:

* ctrl:需要獲取位置的元素(document.getelementbyid("p1"),document.getelementsbyclassname("current")[0])

* 返回值:

* caretpos:返回游標當前的位置

* **/

function getcursortposition (ctrl)

// firefox,chrome,edg support

else if (ctrl.selectionstart || (ctrl.selectionstart === '0'))

return caretpos;

}// 設定游標位置

function setcaretposition(ctrl, pos)

else if (ctrl.createtextrange)

}

上面給指定元素的位置插值,這個方法是根據別人的例項修改的,例項如下,因為這個示例是在目標元素內不斷增加子元素,但是我的需求是往往某個元素中增加文字,比如往textarea標籤中不斷增加指定字串,所以我根據下面的示例修改了一下。

// 插入指定元素到指定位置

helloworld

js獲取游標位置

var tt elsereturn t.selectionstart 設定游標位置 method setcursorposition param t element param p number return setcursorposition function t,p 插入到游標後面 method...

js獲取游標,設定游標位置

直接貼 作為日常開發筆記 設定游標位置 params ele 輸入框元素 params pos 需要將游標設定的位置 author 2018 09 29 setcaretposition ele,pos else if ele.createtextrange 獲取游標在輸入框中相對位置 param ...

input獲取游標位置插入元素

inserttext inserttxt 獲取el input中的input元素 let elinput this.refs.targetin.el.firstelementchild 獲取el input的值 let txt elinput.value 做插入前做長度校驗 如果有這個需要的話 if...