91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

Javascript中怎么利用textarea獲取光標位置

發布時間:2021-07-02 14:23:23 來源:億速云 閱讀:686 作者:Leah 欄目:web開發

本篇文章為大家展示了Javascript中怎么利用textarea獲取光標位置,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

用Javascript獲取textarea中的光標位置

Javascript一向以他的靈活隨意而著稱,這也使得它的功能可以非常的強大,而由于沒有比較好的調試工具,又使得它使用起來困難重重,尤其使對于一些初學者,更是感覺到無從下手。今天探討的問題是用javascript獲取textarea中光標的位置。對于寫javascript寫網頁編輯器的人來說,獲取textarea中的光標位置是一個非常重要的問題,而往往很多人在這個地方不知所措,找不到好的辦法。昨天我在網上找到了一段javascript代碼,本來不想把原版放在這里的,就是因為太精彩了,怕我給改壞了,所以還是原版放在這里吧。

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

嫩江县| 德格县| 新龙县| 庆元县| 油尖旺区| 买车| 剑阁县| 田东县| 泗水县| 临安市| 深水埗区| 普宁市| 车致| 偃师市| 阿克陶县| 朝阳市| 九龙坡区| 崇礼县| 永州市| 泾源县| 陵川县| 深圳市| 合川市| 冷水江市| 马龙县| 刚察县| 景泰县| 嘉定区| 长丰县| 鹤山市| 谢通门县| 得荣县| 肇庆市| 韶山市| 开化县| 灌云县| 东至县| 五家渠市| 塘沽区| 阿坝| 瑞丽市|