【轉載】DOM編程學習之事件處理函數(shù)

在JavaScript語言中可以處理的事件類型可以分為:鼠標事件,鍵盤事件和HTML事件。對于于每一個事件,它都有自己的觸發(fā)范圍和方式铲汪,如果超出了觸發(fā)范圍和方式,事件處理就會失效摩桶。所有的事件處理函數(shù)都會有兩個部分組成桥状,on+事件名稱帽揪,例如click事件的時間處理函數(shù)就是:onclick硝清。

JavaScript事件處理函數(shù)及其使用列表



鼠標事件:頁面所有元素都可觸發(fā)
(1)click:當用戶單擊鼠標按鈕或按下回車鍵時觸發(fā)。onclick事件是我們最常用的鼠標事件转晰,幾乎涵蓋了網(wǎng)頁中的很多與用戶交互的過程芦拿。我們只是看一個簡單的實例:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
    <html xmlns="http://www.w3.org/1999/xhtml">  
    <head>  
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  
    <title>DOM</title>  
    <style type="text/css">  
    #test {  
    background-color:yellow;  
    width:200px;  
    height:50px;  
    padding-top:25px;  
    text-align:center;  
    }  
    </style>  
    <script type="text/javascript">  
    window.onload=function(){  
        var div=document.getElementById("test");  
        div.onclick=function(){  
              this.style.backgroundColor="red";  
        }  
    }  
    </script>  
    </head>  
      
    <body>  
    <div id="test">Click Me</div>  
    </body>  
    </html>  

點擊之前(初始化狀態(tài)):



點擊之后(也是以后一直保持的狀態(tài)):


(2)dblclick:當用戶雙擊主鼠標按鈕時觸發(fā)士飒。這個鼠標事件一般很少用到,我們就不再舉例了蔗崎。

(3)mousedown:當用戶按下了鼠標還未彈起時觸發(fā)酵幕。

(4)mouseup:當用戶釋放鼠標按鈕時觸發(fā)。

onmousedown缓苛、onmouseup 以及onclick事件是鼠標點擊的全部過程芳撒。首先當某個鼠標按鈕被點擊時,觸發(fā)onmousedown事件未桥,然后笔刹,當鼠標按鈕被松開時,會觸發(fā)onmouseup事件冬耿,最后舌菜,當鼠標點擊完成時,觸發(fā)onclick事件亦镶。我們來看一個簡單的實例:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
    <html xmlns="http://www.w3.org/1999/xhtml">  
    <head>  
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  
    <title>DOM</title>  
    <style type="text/css">  
    #test {  
    background-color:yellow;  
    width:200px;  
    height:50px;  
    padding-top:25px;  
    text-align:center;  
    }  
    </style>  
    <script type="text/javascript">  
    window.onload=function(){  
        var div=document.getElementById("test");  
        div.onmousedown=function(){  
              this.style.backgroundColor="blue";  
              this.innerHTML="松開鼠標";  
         }  
         div.onmouseup=function(){  
               this.style.backgroundColor="yellow";  
               this.innerHTML="謝謝";  
         }  
    }  
    </script>  
    </head>  
      
    <body>  
    <div id="test">Click Me</div>  
    </body>  
    </html>  

鼠標未點擊之前(初始化狀態(tài)):



鼠標點下去不松開:



鼠標松開(最后保持的狀態(tài)日月,再次刷新后為初始化狀態(tài)):

(5)mouseover:當鼠標移到某個元素上方時觸發(fā)。

(6)mouseout:當鼠標移出某個元素上方時觸發(fā)缤骨。

這兩個事件一般同時使用爱咬,也是經(jīng)常做Web前端開發(fā)用到的。比如導航欄的下拉菜單等各種動態(tài)效果绊起。我們來看一個簡單的實例:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
    <html xmlns="http://www.w3.org/1999/xhtml">  
    <head>  
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  
    <title>DOM</title>  
    <style type="text/css">  
    #test {  
    background-color:#FFFF00;  
    width:200px;  
    height:50px;  
    padding-top:25px;  
    text-align:center;  
    }  
    </style>  
    <script type="text/javascript">  
    window.onload=function(){  
        var div=document.getElementById("test");  
        div.onmouseover=function(){  
              this.innerHTML="謝謝";  
        }  
        div.onmouseout=function(){  
               this.innerHTML="把鼠標移上來";  
        }  
    }  
    </script>  
    </head>  
      
    <body>  
    <div id="test">Mouse Over Me</div>  
    </body>  
    </html>  

鼠標放上去之前(初始化狀態(tài)):



鼠標放上去之后:



鼠標放下去之后(最后保持的狀態(tài)台颠,再次刷新后為初始化狀態(tài)):

(7)mousemove:當鼠標指針在元素上移動時觸發(fā)。這個好演示勒庄,只是沒有什么多大的變化串前,我們等到實際用到了在進行詳細的演示和了解。

鍵盤事件
keydown:當用戶按下鍵盤上任意鍵時觸發(fā)实蔽,如果按住不放荡碾,會重復觸發(fā)。
keypress:當用戶按下鍵盤上的字符鍵時觸發(fā)局装,如果按住不放坛吁,會重復觸發(fā)。
keyup:當用戶釋放鍵盤上的鍵時觸發(fā)

由于瀏覽器兼容性的問題铐尚,在這里就不再舉例拨脉。詳細了解的話可以參考:http://www.jb51.net/article/21592.htm

HTML事件

(1)load:當頁面完全加載后在window上面觸發(fā),或當框架集加載完畢后在框架集上觸發(fā)宣增。

(2)unload:當頁面完全卸載后在window上面觸發(fā)玫膀,或當框架集卸載完畢后在框架集上觸發(fā)。

當用戶進入或離開頁面時爹脾,會觸發(fā)onload和onunload事件帖旨。onload事件可用于檢查訪客的瀏覽器類型和版本箕昭,以便基于這些信息來加載不同版本的網(wǎng)頁。onload和onunload事件可用于處理 cookies解阅。onload事件我們在前面已經(jīng)使用過落竹,就不再進行舉例。

3)select:當用戶選擇文本框(input或textarea)中的一個或多個字符時觸發(fā)货抄。

   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
   <html xmlns="http://www.w3.org/1999/xhtml">  
   <head>  
   <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  
   <title>DOM</title>  
   <script type="text/javascript">  
   window.onload=function(){  
       var userName=document.getElementById("userName");  
       userName.onselect=function(){  
            alert("你選中了"+this.value);  
       }  
   }  
   </script>  
   </head>  
     
   <body>  
   請輸入你的英文名:<input type="text" id="userName" />  
   <p>當輸入字段并選中字符時發(fā)生的事件述召。</p>  
   </body>  
   </html>  

效果:



(4)change:當文本框(input或textarea)內(nèi)容改變且失去焦點后觸發(fā)。我們舉行一個簡單的實例:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
    <html xmlns="http://www.w3.org/1999/xhtml">  
    <head>  
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  
    <title>DOM</title>  
    <script type="text/javascript">  
    window.onload=function(){  
        var userName=document.getElementById("userName");  
        userName.onchange=function(){  
              this.value=this.value.toUpperCase();  
        }  
    }  
    </script>  
    </head>  
      
    <body>  
    請輸入你的英文名:<input type="text" id="userName" />  
    <p>當你離開輸入框時蟹地,被觸發(fā)的函數(shù)會把你輸入的文本轉換為大寫字母桨武。</p>  
    </body>  
    </html>  

未失去焦點之前:



失去焦點之后:



(5)focus:當頁面或者元素獲得焦點時window及相關元素上觸發(fā)。

(6)blur:當頁面或者元素失去焦點時window及相關元素上觸發(fā)锈津。

對于上述的兩個事件也是在一起使用的事件呀酸,我們看一個簡單的實例:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
    <html xmlns="http://www.w3.org/1999/xhtml">  
    <head>  
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  
    <title>DOM</title>  
    <script type="text/javascript">  
    window.onload=function(){  
        var userName=document.getElementById("userName");  
        userName.onfocus=function(){  
             this.style.backgroundColor="yellow";  
        }  
        userName.onblur=function(){  
             this.style.backgroundColor="red";  
        }  
    }  
    </script>  
    </head>  
      
    <body>  
    請輸入你的英文名:<input type="text" id="userName" />  
    <p>當輸入字段獲得焦點時,會觸發(fā)改變背景顏色的函數(shù)琼梆。</p>  
    </body>  
    </html>  

初始化狀態(tài):


獲取焦點之后:


失去焦點之后:

(7)submit:當用戶點擊提交按鈕在<form>元素上觸發(fā)性誉。

(8)reset:當用戶點擊重置按鈕在<form>元素上觸發(fā)。這兩個事件我們一般在提交表單使用茎杂,單獨拿出來以后演示沒有任何的效果错览,我們就不再演示。在后面相關的提交表單的博文中我們詳細介紹煌往。

(9)resize:當窗口或框架的大小變化時在window或框架上觸發(fā)倾哺。

(10)scroll:當用戶滾動帶滾動條的元素時觸發(fā)。以上兩個事件使用很少刽脖,就不再舉例演示羞海。

文章轉載于:http://blog.csdn.net/erlian1992/article/details/50425875

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市曲管,隨后出現(xiàn)的幾起案子却邓,更是在濱河造成了極大的恐慌,老刑警劉巖院水,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件腊徙,死亡現(xiàn)場離奇詭異,居然都是意外死亡檬某,警方通過查閱死者的電腦和手機撬腾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來恢恼,“玉大人民傻,你說我怎么就攤上這事。” “怎么了饰潜?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長和簸。 經(jīng)常有香客問我彭雾,道長,這世上最難降的妖魔是什么锁保? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任薯酝,我火速辦了婚禮,結果婚禮上爽柒,老公的妹妹穿的比我還像新娘吴菠。我一直安慰自己,他們只是感情好浩村,可當我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布做葵。 她就那樣靜靜地躺著,像睡著了一般心墅。 火紅的嫁衣襯著肌膚如雪酿矢。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天怎燥,我揣著相機與錄音瘫筐,去河邊找鬼。 笑死铐姚,一個胖子當著我的面吹牛策肝,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播隐绵,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼之众,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了依许?” 一聲冷哼從身側響起酝枢,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎悍手,沒想到半個月后帘睦,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡坦康,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年乞娄,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片抑胎。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡何鸡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情逸绎,我是刑警寧澤惹恃,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站棺牧,受9級特大地震影響巫糙,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜颊乘,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一参淹、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧乏悄,春花似錦浙值、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至规求,卻和暖如春负蚊,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背颓哮。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工家妆, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人冕茅。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓伤极,卻偏偏與公主長得像,于是被迫代替她去往敵國和親姨伤。 傳聞我的和親對象是個殘疾皇子哨坪,可洞房花燭夜當晚...
    茶點故事閱讀 43,490評論 2 348

推薦閱讀更多精彩內(nèi)容