2014年辛星解讀Javascript之DOM之事件及其綁定,辛星dom
我們通過DOM的事件可以對HTML的事件作出反應,就像我們用其他程式設計語言寫GUI一樣,那麼HTML包括哪些事件呢?下面是幾個常見的例子,比如網頁已經完成記載,映像完成載入,滑鼠移動到元素上方,輸入文字被改變,表單提交,使用者點擊按鍵等等,還是蠻多的。
下面我們用執行個體來示範一下,看下面的HTML代碼:
<html><p id = "tag" onclick="this.innerHTML ='小倩' ">辛星</p></html>
它本來是辛星的,如果我們點擊一下,它就會變成”小倩“,這裡的onclick其實就是一個點擊事件,雙引號裡面的就是Javascript代碼,那麼既然是Javascript代碼,我們不妨把它們寫到外面的script標籤裡面去,如下代碼:
<html><p id = "tag" onclick="xin(this)">辛星</p><script type="text/javascript">function xin(my){my.innerHTML = "小倩";}</script></html>
其實功能和上面的代碼是一樣的,也是點擊一下”辛星“,然後變成”小倩“。上面我們是直接寫到了HTML代碼裡面,可能有人會問:能不能直接在Javascript中解決這個問題呢?答案是肯定的,如下代碼:
<html><p id = "tag" >辛星</p><script type="text/javascript">document.getElementById("tag").onclick = function(){this.innerHTML = "小倩";};</script></html> 其實也很好理解,這也是DOM的一個綁定,只是它直接在Javascript中完成了事件的綁定,每次我們單擊”辛星“這個事件觸發的時候,它就會執行這個函數,這個函數的功能就是改變其中的文本顯示資訊。
除了onclick事件之外,還有哪些事件比較重要一些呢?首先就是onload事件,它會在使用者進入頁面的時候觸發,而onunload會在使用者離開頁面的時候觸發,這兩個事件對於處理cookie都是不錯的,關於cookie我們後面會接觸到。還有一個就是onchange事件,它通常結合對輸入欄位的驗證來使用,比如我們可以在輸入框或者密碼框中使用該事件來檢測使用者輸入的資訊,而onmouseover則是在滑鼠移動到HTML元素上方的時候觸發,而onmouseout則是在滑鼠從HTML元素上方移出的時候觸發。相對於onclick這個點擊過程來說,onmousedown、onmouseup就更加細緻入微了,前者表示我們用滑鼠點擊按鈕的時候觸發,後者則是我們鬆開的時候觸發。