javascript事件基礎 自定義事件(封裝)

2021-09-14 03:55:35 字數 986 閱讀 7149

設計彈框和遮罩層

設計彈出對話方塊

×對話寬標題

對話方塊內容

定義時間雛形:(那麼怎麼關閉遮罩層?) 

重寫對話方塊型別物件

function dialog(id)}}

//重寫開啟對話方塊的方法

function opendialog()

}在opendialog方法中,建立dialog物件後為控制代碼賦值,傳遞乙個隱藏遮罩的方法,這樣在關閉dialog時就隱藏了遮罩,同時沒有造成兩個元件之間耦合

自定義事件:即先繫結事件處理程式,然後在原生事件處理函式中呼叫,以實現觸發的過程。dom物件的事件,如button的click事件,也是類似原理

設計事件觸發模型;

//使用觀察者模式實現事件監聽,自定義事件型別

function eventtarget();//初始本地控制代碼為空

}//擴充套件自定義事件型別的原型

eventtarget.prototype=

this.handlers[type].push(handler);//把當前事件處理函式推入到當前事件型別控制代碼佇列的尾部

},removehandler:function(type,handler)

應用事件模型:優化後的總體**

×對話寬標題

對話方塊內容

這樣使用者也可以在開啟dialog時,顯示遮罩寫成類似關閉事件的方式。當**中存在多個部分,在特定時刻相互互動的情況下,自定義事件就非常有用

如果每個物件都有其他物件的引用,那麼整個**高度耦合,物件改動會影響其他物件,維護起來就困難重重,自定義事件能夠解耦,功能隔絕,這樣物件之間就可以實現高度聚合

JavaScript基礎8事件函式 事件流

1.新增事件的方式 獲取節點後新增onclick屬性 var i document.getelementbyid box i.onclick function i.onclick function 重複的會覆蓋 獲取節點後新增事件監聽屬性 var i document.getelementbyid ...

javascript基礎四 (事件應用滑鼠滾輪)

var odiv document.getelementbyid div ie chrome onmousewheel event.wheeldelta 上 120 下 120 firefox dommousescroll 必須用addeventlistener event.detail 阻止當前事...

javascript事件總結

onabort 影象載入被中斷 onblur 失去焦點 onclick 滑鼠單擊某個物件 onchange 使用者改變內容 ondbclick 滑鼠雙擊某個物件 onerror 當載入文件或物件時發生某個錯誤 onfocus 獲得焦點 onkeydown 鍵盤的鍵被按下 onkeypress 鍵盤的...