JS基礎 事件 事件處理程式

2021-09-26 19:01:11 字數 706 閱讀 4349

在了解完事件流和事件物件之後,我們來看事件三劍客的最後一客:事件處理程式。在事件被使用者觸發之後,都有乙個相應這個操作的處理函式,這個函式就叫做事件處理器(事件偵聽器)

在定義的時候不能使用未經定義的html轉義的html字元。在處理過程中,首先建立乙個封裝元素屬性值的函式,這個函式中有乙個區域性變數event,就是事件物件,同個這個變數,可以直接訪問事件本身。

使用js指定事件處理程式。onclick

每個元素都有自己的事件處理程式屬性,為這個屬性的值設定為乙個函式,就可以指定事件處理程式。此時的this就是當前元素

定義了兩個方法,用於指定addeventlistener()和removeeventlistener()刪除操作。他們接收3個引數:要處理的事件名、作為事件處理程式的函式、是否在捕獲階段呼叫這個程式。

通過addeventlistener()新增的事件處理程式只能通過removeeventlistener()移除,且引數必須相同,若使用addeventlistener()新增的匿名函式無法移除

attachevent()和detachevent()。接收2個引數:事件處理程式名稱與事件處理程式函式,事件會被新增到冒泡階段,此時this===window

需要重點關注冒泡階段資訊。

addhandle(要操作的元素,事件名稱,事件處理程式函式)

removehandle(要操作的元素,事件名稱,事件處理程式函式) // 預設採用dom0級方法

JS事件 事件處理程式之IE事件處理程式

與訪問dom中的event物件不同,要訪問ie中的event物件有幾種不同的方式,取決於指定事件處理程式的方法。在使用dom0級方法新增事件處理程式時,event物件作為window物件乙個屬性存在。來看下面例子。var btn document.getelementbyid mybtn btn.o...

JS基礎 事件 事件流

總所周知,js和html之間的互動是通過事件實現的,互動過程中會產生許多事件,而從頁面上接收事件的順序就是事件流。事件流分為ie的事件冒泡流和netscape的事件捕獲流 這是指ie的事件流,即事件開始時由最具體的元素接收,然後逐級向上傳播到文件節點。所有的瀏覽器都在支援事件冒泡。但是ie5.5及之...

JS基礎 事件 事件委託

我們都知道,在js中,新增到頁面上的處理程式數量將直接影響到整體執行效能。因為事件的執行會一直占用記憶體,因此當事件的數量達到一定的程度之後,就會嚴重影響程式的效能,一種提公升效能的方式就是使用事件委託 事件委託利用了事件冒泡,只指定乙個事件處理程式,就可以管理某一型別的所有事件。適合使用事件委託的...