国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JavaScript中的事件與異常捕獲詳析

2019-11-19 12:04:39
字體:
來源:轉載
供稿:網友

事件處理

【onClick】單擊事件、【onMouseOver】鼠標經過事件、【onMouseOut】鼠標移出事件、【onChange】文本內容改變事件、【onSelect】文本被框選事件、【onFoucus】得到光標事件、【onBlur】光標失去事件、【onLoad】網頁加載事件(在body標簽中添加)、【onUnload】網頁關閉事件(在body標簽中添加或者使用window.onload=function(){}

事件注冊及監聽

1、 DOM0級事件處理

在標簽中添加onClick或其他事件的屬性并賦值為JS的自定義方法名

onClick="dongfun(20)"

兩種方法在事件中得到事件的標簽對象:

<div id="divid" onMouseOver="overbut(this)" onMouseOut="outbut()">東小東</div><script> //通過參數傳遞對象 function overbut(obj){ obj.innerHTML="事件觸發發,鼠標在我的范圍"; } //通過ID查找到對象 function outbut(){ document.getElementById("divid").innerHTML="再見見"; }</script>

內容改變監聽:

方法一

<input onChange="this.style.backgroundColor='red'"> 

方法二

<input id="inid" onChange="inputbut(this)"><script> function inputbut(obj){ obj.style.backgroundColor="green";//更改樣式  }</script>

2、 DOM1級事件處理

通過標簽或者ID尋找到對象,進行事件監聽,一個事件只能對應一個事件處理函數,在HTML中不用進行注冊

function dongfunx(){ alert("東小東彈框"); }//找到對象var h1objx=document.getElementsByTagName("h1")[0];//注冊事件h1objx.onclick=dongfunx;//清除事件h1objx.onclick=null;

3、 DOM2級事件處理

通過標簽或者ID尋找到對象,進行事件監聽,一個事件只能對應多個事件處理函數,在HTML中不用進行注冊

//通過ID找到標簽對象divobjx=document.getElementById("divid"); //添加監聽事件,可以添加多個相同或者不同的事件//參數(事件名,處理函數名),其中事件名是普通事件中去掉“on”前綴divobjx.addEventListener("click",onck1);divobjx.addEventListener("click",onck2); //事件處理函數function onck1(){ alert("----- onck1 -----");  }function onck2(){ alert("----- onck2 -----"); } //移除點擊事件divobjx.removeEventListener("click",onck1);

匿名方法實現

 divobjx=document.getElementById("divid"); divobjx.addEventListener("click",function(){ //執行操作內容 alert("----------"); });

補充:

阻止HTML的默認事件

<a  rel="external nofollow" >跳轉</a><script> function dongfunx(eventx){ eventx.preventDefault();//阻止默認事件,不進行跳轉 } //找到對象 var aobjx=document.getElementsByTagName("a")[0]; //注冊事件 aobjx.onclick=dongfunx;</script>

頁面加載完畢監聽:

 window.onload=function(){ alert("頁面加載完畢"); }

異常捕獲

如果程序執行時遇到異常且未進行異常捕獲,則程序將終止執行,如果有異常捕獲,則可以繼續執行異常以下的代碼。

捕獲所有異常:

try{ //alert(jj);//未定義變量異常 throw("東小東異常");//手動拋出異常,參數為異常內容}catch(e){ alert("捕獲的錯誤:"+e); }

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對武林網的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 建德市| 肃宁县| 延津县| 汶川县| 江华| 黄骅市| 西和县| 于田县| 阿坝县| 扎鲁特旗| 江津市| 宁都县| 华蓥市| 长沙县| 弋阳县| 淮南市| 湖南省| 武清区| 乐业县| 子洲县| 靖边县| 武定县| 嘉定区| 安化县| 建始县| 长治市| 和硕县| 哈巴河县| 嘉禾县| 霍州市| 花莲县| 菏泽市| 剑阁县| 玉环县| 资源县| 博湖县| 宝鸡市| 广丰县| 江山市| 永平县| 九寨沟县|