国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

JS基礎之事件概念篇

DrizzleX / 613人閱讀

摘要:通過偵聽器來預定事件,以便事件發生時執行相應的代碼。另外級事件和事件對事件的執行順序是不一樣的,是按照事件的添加順序來觸發處理程序,而則是先觸發后添加的事件偵聽器,即與相反。

JSHTML的交互是通過事件來實現的。通過偵聽器來預定事件,以便事件發生時執行相應的代碼。這些偵聽器用于為事件處理程序屬性賦值處理函數、可以是addEventListener,也可以是attachEvent,后邊將詳細講述。

事件流

首先需要了解一下事件流,所謂事件流就是頁面接收事件的順序。DOM2規定了事件流有三個階段,捕獲階段、處于目標極端和事件冒泡階段。也就是說較為不具體的節點先收到事件(例如document),一層一層往下傳播事件,直到到達目標元素。我們可以根據需要在捕獲階段攔截事件,但是一般情況下我們依舊在冒泡階段處理事件。需要注意的是IE的事件冒泡是說事件從目標元素開始一層一層網上傳播事件,直到遇到document。

事件處理程序

接收到了事件,我們要對它做出相應的處理,這就用到了事件處理程序,其實就是一個函數。
事件處理程序可以是直接以標簽onclick屬性值存在的一段代碼,我們稱之為HTML事件處理程序,這種事件處理程序在執行的時候會擴大作用域,可以訪問document和自身的成員,如果目標元素是表單,還能訪問父元素form中的其他元素。其擴展作用域方法為:

function(){
    with(document){
        with(this){
            //元素屬性
        }
    }
}

DOM先后提出了DOM0DOM2級的事件處理程序,DOM0級是通過JavaScript指定事件處理程序的傳統方式,即給事件處理程序屬性賦值函數。DOM0級的事件處理程序被認為是元素的方法,因而在元素的作用域中執行。

var btn = document.getElementById(“myBtn”);
btn.onclick = function(){
    alert(this.id);  //myBtn
}

DOM2級的事件處理程序指定了兩個方法:addEventListenerremoveEventListener,他們接收3個參數,分別是事件名、作為事件處理程序的函數,一個布爾值,這個布爾值為true時指定了在捕獲事件階段調用事件處理程序,一般情況下為false,即在事件冒泡階段調用事件處理程序。
前邊說到了IE的事件流是事件冒泡,那么第三個參數就不需要了,在IE事件處理程序中指定了類似的兩個方法:attachEventdetachEvent。DOM2級事件和IE事件都可以為目標元素添加多個事件處理程序,而DOM0級則只能指定一個事件處理程序。另外DOM2級事件和IE事件對事件的執行順序是不一樣的,DOM2是按照事件的添加順序來觸發處理程序,而IE則是先觸發后添加的事件偵聽器,即與DOM2相反。
另外值得提一下的是IE的attachEventDOM0、DOM2級方法的事件處理程序的作用域不一樣,前者會在全局作用域中執行,而后者在當前元素的作用域內執行。

var btn = document.getElementById(“myBtn”);
var handle = function(){
    alert(this === window);    //true
}
btn.attachEvent(“onclick”, handle );

因而在自己編寫跨瀏覽器的事件處理程序時要注意一下IE的作用域的問題,以及DOM0只能支持一個時間處理程序。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/100008.html

相關文章

  • 前端相關大雜燴

    摘要:希望幫助更多的前端愛好者學習。前端開發者指南作者科迪林黎,由前端大師傾情贊助。翻譯最佳實踐譯者張捷滬江前端開發工程師當你問起有關與時,老司機們首先就會告訴你其實是個沒有網絡請求功能的庫。 前端基礎面試題(JS部分) 前端基礎面試題(JS部分) 學習 React.js 比你想象的要簡單 原文地址:Learning React.js is easier than you think 原文作...

    fuyi501 評論0 收藏0
  • 【連載】前端個人文章整理-從基礎到入門

    摘要:個人前端文章整理從最開始萌生寫文章的想法,到著手開始寫,再到現在已經一年的時間了,由于工作比較忙,更新緩慢,后面還是會繼更新,現將已經寫好的文章整理一個目錄,方便更多的小伙伴去學習。 showImg(https://segmentfault.com/img/remote/1460000017490740?w=1920&h=1080); 個人前端文章整理 從最開始萌生寫文章的想法,到著手...

    madthumb 評論0 收藏0
  • javascript知識點

    摘要:模塊化是隨著前端技術的發展,前端代碼爆炸式增長后,工程化所采取的必然措施。目前模塊化的思想分為和。特別指出,事件不等同于異步,回調也不等同于異步。將會討論安全的類型檢測惰性載入函數凍結對象定時器等話題。 Vue.js 前后端同構方案之準備篇——代碼優化 目前 Vue.js 的火爆不亞于當初的 React,本人對寫代碼有潔癖,代碼也是藝術。此篇是準備篇,工欲善其事,必先利其器。我們先在代...

    Karrdy 評論0 收藏0
  • JS基礎--JSonunload、onbeforeunload事件詳解

    摘要:事件事件在用戶退出頁面時發生。注意事件同樣觸發了頁面載入事件事件。如圖所示大體一句話描述和支持事件但是或者不支持該事件。瀏覽器兼容情況完美支持不支持文字提醒信息不支持如圖所示使用遇到的凡是標簽都會觸發事件包括這種。 簡介 onunload,onbeforeunload都是在刷新或關閉時調用,可以在腳本中通過 window.onunload來調用。區別在于onbeforeunload在o...

    rollback 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<