中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Javascript如何利用textarea獲取光標位置

發布時間:2022-05-23 11:15:52 來源:億速云 閱讀:269 作者:zzz 欄目:大數據

這篇“Javascript如何利用textarea獲取光標位置”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Javascript如何利用textarea獲取光標位置”文章吧。

用Javascript獲取textarea中的光標位置

Javascript一向以他的靈活隨意而著稱,這也使得它的功能可以非常的強大,而由于沒有比較好的調試工具,又使得它使用起來困難重重,尤其使對于一些初學者,更是感覺到無從下手。今天探討的問題是用javascript獲取textarea中光標的位置。對于寫javascript寫網頁編輯器的人來說,獲取textarea中的光標位置是一個非常重要的問題,而往往很多人在這個地方不知所措,找不到好的辦法。

varstart=0;  varend=0;  functionadd(){  vartextBox=document.getElementById("ta");  varpre=textBox.value.substr(0,start);  varpost=textBox.value.substr(end);  textBox.value=pre+document.getElementById("inputtext").value+post;  }  functionsavePos(textBox){  //如果是Firefox(1.5)的話,方法很簡單  if(typeof(textBox.selectionStart)=="number"){  start=textBox.selectionStart;  end=textBox.selectionEnd;  }  //下面是IE(6.0)的方法,麻煩得很,還要計算上'\n'  elseif(document.selection){  varrange=document.selection.createRange();  if(range.parentElement().id==textBox.id){  //createaselectionofthewholetextarea  varrange_all=document.body.createTextRange();  range_all.moveToElementText(textBox);  //兩個range,一個是已經選擇的text(range),  一個是整個textarea(range_all)  //range_all.compareEndPoints()比較兩個端點,  如果range_all比range更往左(furthertotheleft),  則//返回小于0的值,則range_all往右移一點,直到兩個range的start相同。  //calculateselectionstartpointbymovingbeginningofrange_alltobeginningofrange  for(start=0;range_all.compareEndPoints("StartToStart",range)<0;start++)range_all.moveStart('character',1);  //getnumberoflinebreaksfromtextareastarttoselectionstartandaddthemtostart  //計算一下\n  for(vari=0;i<=start;i++){  if(textBox.value.charAt(i)=='\n')  start++;  }  //createaselectionofthewholetextarea  varrange_all=document.body.createTextRange();  range_all.moveToElementText(textBox);  //calculateselectionendpointbymovingbeginningofrange_alltoendofrange  for(end=0;range_all.compareEndPoints('StartToEnd',range)<0;end++)  range_all.moveStart('character',1);  //getnumberoflinebreaksfromtextareastarttoselectionendandaddthemtoend  for(vari=0;i<=end;i++){  if(textBox.value.charAt(i)=='\n')  end++;  }  }  }  document.getElementById("start").value=start;  document.getElementById("end").value=end;  }

下面是在頁面中調用js代碼的方法:

<formactionformaction="a.cgi"> <tablebordertableborder="1"cellspacing="0"cellpadding="0"> <tr> <td>start:<inputtypeinputtype="text"id="start"size="3"/></td> <td>end:<inputtypeinputtype="text"id="end"size="3"/></td> </tr> <tr> <tdcolspantdcolspan="2"> <textareaidtextareaid="ta"onKeydown="savePos(this)"  onKeyup="savePos(this)" onmousedown="savePos(this)" onmouseup="savePos(this)" onfocus="savePos(this)" rows="14"cols="50"></textarea> </td> </tr> <tr> <td><inputtypeinputtype="text"id="inputtext"/></td> <td><inputtypeinputtype="button"onClick="add()"value="AddText"/></td> </tr> </table> </form>

以上就是關于“Javascript如何利用textarea獲取光標位置”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

彭阳县| 日土县| 梅河口市| 房产| 吉林省| 浑源县| 凤山市| 灵台县| 屏边| 巫溪县| 宁远县| 横峰县| 固镇县| 樟树市| 漳浦县| 彭水| 井冈山市| 吉隆县| 明星| 霍山县| 班戈县| 明溪县| 新晃| 安达市| 泸州市| 临夏市| 红桥区| 鹤壁市| 新兴县| 凌云县| 封开县| 洪湖市| 湘阴县| 磐石市| 五原县| 滨州市| 阿鲁科尔沁旗| 浙江省| 双柏县| 稻城县| 云霄县|