文字框指令碼 select 事件

2022-07-17 00:21:14 字數 2620 閱讀 1809

html中,用兩種方式來表示文字框: input 單行文字、textarea 多行文字

那麼在文字中存在哪些事件尼?

1    select  都支援 但是其觸發的時機不一樣

ie9+ 、safair 、opera、chorme、firefox

當使用者選擇檔案時,滑鼠鬆開時觸發

ie8以及其下

當使用者選擇文字時,就會觸發

1  window.onload = function

() , false

)6 } else

);10

}11 }

2 取得選擇的文字

h5  新增的兩個屬性, 

selectionstart、selectionend
ie9+ 、safair 、opera、chorme、firefox 支援這兩個屬性

ie8不支援這兩個屬性,但是提供 document.selection 物件, 其中儲存著使用者在整個文件範圍內選擇的文字資訊;也就是說,無法確定使用者選擇的是頁面中那個部位的文字。不過,在於select事件一起使用時候,可以假設是用虎選擇了文字框中的文字,因此觸發該事件。要取得選擇的文字,首先必須建立乙個範圍,然後再將文字從其中取出來,如下。

function

getselectedtext(textbox)

else

if(document.selection)

}

3 選擇部分內容

setselectionrange(start,end)  接收兩個引數,並且不包括 end指定的內容

ie9+ 、safair 、opera、chorme、firefox

document.forms[0].elements[0].setselectionrange(0,3); //

123document.forms[0].elements[0].setselectionrange(0,2);//

12 document.forms[0].elements[0].setselectionrange(0,1);//

1

ie8以及其低版本中不支援 setselctionrange方法,但是要想選擇部分內容步驟如下:

1   createtextrange 建立乙個範圍,並將其放在恰當的位置

2   再通過 movestart() 和 moveend()這兩個範圍方法將範圍移動到位。

3   呼叫movestart、moveend之前必須使用 collapse()將範圍摺疊到文字框的開始位置。(此時在movestart()將範圍的起始點和終點移到了相同的位置 )

4  接著再給moveend()傳入要選擇的字元總數即可。 最後一步就是使用範圍的select()選擇文字

movstart()  

@param unit character、 word 、 sentence、textedit 

@param [count]

@return 

moveend()

var textbox = document.forms[0].elements[0]; //who are you miss w

var range =textbox.createtextrange();

range.collapse(

true

); range.movestart("word",0); //

character 字元 || word 單詞 || sentence 段落

range.moveend("word",3);  // who are you

range.select();

當為 textedit 插入點(選擇開始位置從結尾開始)移動到整個文字範圍的結束處

var textbox = document.forms[0].elements[0]; //who are you miss w
var range =textbox.createtextrange();

range.collapse(

true

); range.movestart("textedit"); //

character 字元 || word 單詞 || sentence 段落

range.movestart("character",-10); // miss wang

range.select();

綜合上面的方式可以給出跨瀏覽器的方式:

function

selecttext(textbox,start,end)

else

}@param

@param  

@param [count]

@return

下面通過乙個例項來驗證一下:

不管哪種情況下,必須是獲得焦點之後執行 

function

selecttext(textbox,start,end)

else

}selecttext(textbox,0,10); //who are yo

文字框獲得焦點事件

input 文字框內容改變,我們可以使用onchange或者onblur來進行判斷,但是onchange是在文字內容改變,然後失去焦點的時候發生,onblur是在失去焦點時候發生,不會判斷文字內容是否改變。按鍵彈起時觸發事件 mytext keyup function 按鍵按下時觸發事件 先響應事件...

文字框指令碼 過濾輸入

過濾輸入經常應用的場合是,限定文字框的輸入特定資料,或者輸入特定格式的資料。當輸入那離不開鍵盤,當然也不開這三個事件 keydown keypress keyup 先來看看這些事件的順序 textbox.addeventlistener keyup function false textbox.ad...

文字框的oninput事件以及

截選於網上 1 onchange事件與onpropertychange事件的區別 onchange事件在內容改變 兩次內容有可能還是相等的 且失去焦點時觸發 onpropertychange事件卻是實時觸發,即每增加或刪除乙個字元就會觸發,通過js改變也會觸發該事件,但是該事件ie專有。2 onin...