亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Javascript文本框腳本實現方法解析

瀏覽:68日期:2023-10-09 17:22:57

在 HTML 中,有兩種方式來表現文本框:一種是使用<input>元素的單行文本框,另一種是使用 <textarea>的多行文本框。這兩個控件非常相似,而且多數時候的行為也差不多。不過,它們之間仍 然存在一些重要的區別。

相對而言,<textarea>元素則始終會呈現為一個多行文本框。要指定文本框的大小,可以使用 rows 和 cols 特性。其中,rows 特性指定的是文本框的字符行數,而 cols 特性指定的是文本框的字符列數 (類似于 <inpu> 元素的 size 特性)。與 <input> 元素不同, <textarea> 的初始值必須要放在 <textarea>和</textarea>之間。

選擇文本

上述兩種文本框都支持 select()方法,這個方法用于選擇文本框中的所有文本。在調用 select() 方法時,大多數瀏覽器(Opera 除外)都會將焦點設置到文本框中。這個方法不接受參數,可以在任何 時候被調用。

var textbox = document.forms[0].elements['textbox1']; textbox.select();

在文本框獲得焦點時選擇其所有文本,這是一種非常常見的做法,特別是在文本框包含默認值的時 候。因為這樣做可以讓用戶不必一個一個地刪除文本。

​選擇(select)事件

與 select()方法對應的,是一個 select 事件。在選擇了文本框中的文本時,就會觸發 select 事件。不過,到底什么時候觸發 select 事件,還會因瀏覽器而異。

取得選擇的文本

雖然通過 select 事件我們可以知道用戶什么時候選擇了文本,但仍然不知道用戶選擇了什么文本。HTML5 通過一些擴展方案解決了這個問題,以便更順利地取得選擇的文本。該規范采取的辦法是添加 兩個屬性:selectionStart 和 selectionEnd。這兩個屬性中保存的是基于 0 的數值,表示所選擇 文本的范圍(即文本選區開頭和結尾的偏移量)。因此,要取得用戶在文本框中選擇的文本,可以使用 如下代碼。

function getSelectedText(textbox){ return textbox.value.substring(textbox.selectionStart, textbox.selectionEnd);}

IE8 及更早的版本中有一個 document.selection 對象,其中保存著用戶在整個文檔范圍內選擇 的文本信息;兼容IE8的寫法

function getSelectedText(textbox){ if (typeof textbox.selectionStart == 'number'){ return textbox.value.substring(textbox.selectionStart, textbox.selectionEnd); } else if (document.selection){ return document.selection.createRange().text; } }

選擇部分文本

現在除 select()方法之外,所有文本框都有一個 setSelectionRange() 方法。這個方法接收兩個參數:要選擇的第一個字符的索引和要選擇的最后一個字符之后的字符的索引 (類似于 substring()方法的兩個參數)。

textbox.value = 'Hello world!'//選擇所有文本 textbox.setSelectionRange(0, textbox.value.length); //'Hello world!'//選擇前 3 個字符 textbox.setSelectionRange(0, 3); //'Hel'//選擇第 4 到第 6 個字符 textbox.setSelectionRange(4, 7); //'o w'

E8 及更早版本支持使用范圍選擇部分文本。要選擇文本框中的部分文本,必須 首先使用 IE 在所有文本框上提供的 createTextRange()方法創建一個范圍,并將其放在恰當的位置 上。然后,再使用 moveStart()和 moveEnd()這兩個范圍方法將范圍移動到位。不過,在調用這兩個 方法以前,還必須使用 collapse()將范圍折疊到文本框的開始位置。此時,moveStart()將范圍的起 點和終點移動到了相同的位置,只要再給 moveEnd()傳入要選擇的字符總數即可。最后一步,就是使 用范圍的 select()方法選擇文本,如下面的例子所示。

textbox.value = 'Hello world!';var range = textbox.createTextRange();//選擇所有文本 'Hello world!'range.collapse(true); range.moveStart('character', 0); range.moveEnd('character', textbox.value.length); range.select();​//選擇前 3 個字符 'Hel'range.collapse(true); range.moveStart('character', 0); range.moveEnd('character', 3); range.select();​//選擇第 4 到第 6 個字符 'o w'range.collapse(true); range.moveStart('character', 4); range.moveEnd('character', 3); range.select();

兼容IE8的寫法

function selectText(textbox, startIndex, stopIndex){ if (textbox.setSelectionRange){ textbox.setSelectionRange(startIndex, stopIndex); } else if (textbox.createTextRange){ var range = textbox.createTextRange(); range.collapse(true); range.moveStart('character', startIndex); range.moveEnd('character', stopIndex - startIndex); range.select(); } textbox.focus();}

操作剪貼板

IE 是第一個支持與剪貼板相關事件,以及通過 JavaScript 訪問剪貼板數據的瀏覽器。HTML 5 后來也把剪貼板事件納入了規范。

beforecopy:在發生復制操作前觸發 。 copy:在發生復制操作時觸發。 beforecut:在發生剪切操作前觸發。 cut:在發生剪切操作時觸發。 beforepaste:在發生粘貼操作前觸發。 paste:在發生粘貼操作時觸發。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 亚洲性色成人 | 亚洲第一久久 | 91尤物国产尤物福利在线 | 久久久久99精品成人片三人毛片 | 全部费免一级毛片不收费 | 国产精品视频成人 | 日韩美女网站在线看 | 欧美色就是色 | 亚洲第成色999久久网站 | 久久精品国产2020观看福利色 | 色九九视频 | 久久最新免费视频 | 亚洲欧美在线综合 | 花蝴蝶亚洲一区二区三区 | 国产农村妇女一级毛片视频片 | 小明免费视频一区二区 | 国产精品视频1区 | 久久夜色撩人精品国产 | 国产成人免费高清在线观看 | 国产高清精品一级毛片 | 性生大片一级毛片免费观看 | 精品福利一区 | 久久狠狠干 | 麻豆麻豆必出精品入口 | 国产一久久香蕉国产线看观看 | 超级碰碰碰在线观看 | www久久com| 欧美 日韩 中字 国产 | 91老女人| 亚洲欧洲日产国码二区在线 | 欧美一级aa毛片禁片 | 亚洲欧美日韩中文不卡 | 青青国产成人久久91网站站 | 福利视频在线看 | 欧美亚洲综合在线观看 | 4k岛国精品午夜高清在线观看 | a级黄色免费看 | 深夜做爰性大片中文 | 久久综合九色综合欧美9v777 | 欧美不卡一区二区三区免 | 亚洲一区二区三区四区热压胶 |