1. 程式人生 > >DOM操作系列-01

DOM操作系列-01

doc script 建議 set scrip 提交 avi rdd 一段時間

】常見事件:

//onclick 點擊時觸發事件。

//ondblclick 雙擊時觸發事件。

//onkeydown 按鍵按下

//onkeypress 點擊按鍵

//onkeyuo 按鍵釋放

//onmousedown鼠標按下

//onmousemove鼠標移動

//onmouseup 鼠標按鍵釋放

//onmouseout 鼠標離開元素範圍

//onmouseover 鼠標移動到元素範圍

//onmousedown 點擊頁面時觸發調用函數或執行代碼。

//onload 網頁或元素加載完畢時觸發。

//onunload 網頁關閉(或者離開刷新)後觸發。

//onbeforeunload 在網頁準備關閉後觸發(關閉之前)。

】事件

點擊超鏈接執行js代碼:

<a href=”javascript:alett(‘代碼’)”>點擊</a>

//調用js執行引擎處理

<a href=”1.htm”onelick=”alett(‘代碼’)”>點擊</a>

//onclick 事件會在對象被點擊時發生。

Function 方法名(){代碼;}

<body Onmousedown=“方法名()”></body>

//onmousedown 點擊頁面時觸發調用函數或執行代碼。

】動態添加事件

Function 方法名1(){代碼;}

Function 方法名2(){代碼;}

<input type=”button” onclick=”document.ondblclick=函數名1”value=“關聯事件1”/>

//註意不要為f1加括號。 document.文檔的,ondblclick雙擊時,=函數名1處理函數為1。

<input type=”button” onclick=”document.ondblclick=函數名2”value=“關聯事件2”/>

】window對象的方法

Window對象代表當前瀏覽器窗口,使用該對象的屬性、方法的時候可以省略window。

例:window.alert(‘a’)可省略為alert(‘a’)

1)alert方法,彈出消息對話框。

2)Conflrm方法,顯示“確定”“取消”對話框,如按“確定”返回true,否則false。

3)重新導航到指定的地址:navigate(“http://www.aaa.com”)

4)Setlnterval每隔一段時間執行指定的代碼。

第一個參數為代碼的字符串,第二個參數為間隔時間(單位毫秒),返回值為定時器的標識。

例:Setlnterval(“alert(‘hello’)”,5000)

5)clearlnterval取消setlnterval的定時執行,相當於time中的enabled=false。

因為setlnter可以設定多個定時,所以clearlnterval要指定清除那個定時器的標誌,

即setlnterval的返回值。

Var intervalld = setlnterval(“alert(“hello”)”,5000); //j接收返回值 標識

Clearlnterval(ntervalld );

6)setTimeout 定時執行,只執行一次。

clearTimeout清除定時。

例:setTimeout(“alert(“hello”)”,2000);

】body、document對象的事件

//onload 網頁或元素加載完畢時觸發。

//onunload 網頁關閉(或者離開刷新)後觸發。

//onbeforeunload 在網頁準備關閉後觸發(關閉之前)。

】window對象的屬性

1)重新導向新的地址:window.location.href=’httf://www.dizhi.com’

刷新當前頁面:window.location.reload()

取當前頁面的地址:location.href

2)window.event 非常重要,用來獲得發生事件時的信息,事件不局限於window對象的事件。

類似於winform中的e(eventary)

altKey屬性,bool類型,alt鍵是否被按下;

ctrKey(ctrl鍵是否按下);

shiftKey(shift鍵是否按下);

clientX、clientY發生事件時鼠標在客戶區的坐標;

screenX、screenY發生事件時鼠標在屏幕上的坐標;

offsetX、offsetY發生事件時鼠標相對於事件源的坐標;

retumValue屬性,如將retumValue設置為false,就會取消默認事件的處理。

在超鏈接onclick中禁止訪問href的頁面。在表單效驗的時候禁止提交到服務器。

srcElement,獲得事件源對象。

keyCode,發生事件時的按鍵值。

Button,發生事件時鼠標按鍵,1為左鍵,2為右鍵,3為左右鍵同時按。

3)screen對象,屏幕的信息(了解內容)

Screen.width、screen.height分辨率長寬。

4)clipboardData對象,對粘貼板的操作。

clearData(“Text”)清空粘貼板; 在瀏覽器中只能為text。

getData(“Text”)讀取粘貼板的值,返回值為粘貼板中的內容。

setData(“Text,val”)設置粘貼板中的值。

很多元素也有Oncopy、onpaste事件:

禁止復制內容:oncopy=“alert(‘禁止復制!’);return:false;”

禁止粘貼內容:onpaste=“alert(‘請勿粘貼!’);return:false;”

自動在復制的內容後添加版權聲明:

Function modifyClipboard(){

clipboardData.setData(‘text’,clipboardData.getData(‘text’)+’版權聲明’+location.href);

}

Oncopy=”setTimeout(‘modifyClipboard()’,100)”

//用戶復制動作後,過0.1秒以後再去改粘貼板中的內容。

5)history操作歷史記錄:

Window.history.back()後退;

Window.history.forward()前進。

也可以用window.history.go(-1)後退、window.history.go(1)前進。

【】Document屬性。 它是window對象的一個屬性,代表當前頁面的html文檔。

Document方法:

(1)write:向文檔中寫入內容。 經常在廣告代碼、整合資源代碼中被使用。

Writeln:同上,最後添加一個回車。

在onclick等事件中寫的代碼會沖掉頁面中的內容,

只有在頁面加載過程中write才會與原有內容融合在一起。

嵌入廣告(廣告聯盟)、嵌入能容(百度新聞)等 cnzz數據統計。

(2)getElementByld方法(非常常用),根據元素的id獲得對象,網頁中id不能重復。

也可以直接通過元素的id來引用元素,但有有效範圍之類的問題,

因此不建議直接通過id操作元素,而是通過getElementByld

Var 名 = documengt.getElementById(“id名”); //查找文件

Alert(名.value)

(3)getElementByName:根據元素的name獲得對象,由於頁面中元素的name可以重復,

比如多個RadioButton的name一樣,因此其返回值為對象數組。

遍歷並不像c#中的foreache,並不會遍歷每個數組,而是遍歷的key。

故遍歷需用普通for循環做。

(4)getElementByTagName:獲得指定標簽名稱的元素數組

比如getElementByTagName(“p”)可以獲得所有的<p>標簽。

DOM操作系列-01