DOM3中的自定義事件

圖片發(fā)自簡書App

//自定義事件
var $ = function(el){
return new _$(el);
}
var _$ = function(el){
this.el = (el&&el.nodeType == 1)?el: document;
}
_$.prototype = {
constructor: _$,
addEvent: function(type, fn,capture) {
var el = this.el;
if(window.addEventListener){
el.addEventListener(type, fn, capture);
var ev = document.createEvent("HTMLEvents");
ev.initEvent(type, capture||false, false);
//在元素上存儲創(chuàng)建的事件,方便自定義事件的觸發(fā)
if(!el["ev"+type]){
el["ev"+type] = ev;
}
}else if (window.attachEvent) {
el.attachEvent("on"+type, fn);
if(isNaN(el["cu" + type])){
//自定義屬性,觸發(fā)事件
el["cu" + type] = 0;
}
var fnEv = function(event){
if(event.prototyName == "cu"+type){
fn.call(el);
}
}
el.attachEvent("onpropertychange", fnEv);
//在元素上存儲綁定的propertychange事件毕箍,方便刪除
if(!el["el" + type]){
el["ev"+type] = [fnEv];
}else{
el["ev" + type].push(fnEv);
}
}
return this;
},

fireEvent: function(type){
var el = this.el;
if(typeof type === "string"){
if(document.dispatchEvent){
if(el["ev" + type]){
el.dispatchEvent(el["ev" + type]);
}
}else if (document.attachEvent) {
//改變自定義屬性年堆,觸發(fā)自定義事件
el["cu" + type]++;
}
}
return this;
},

removeEvent: function(type ,fn ,capture){
var el = this.el;
if(window.removeEventListener){
el.removeEventListener(type , fn, capture||false);
}else if (document.detachEvent) {
el.detachEvent( "on" + type,fn);
var arrEv = el["ev" + type];
if(arrEv instanceof Array){
for (var i = 0; i < arrEv.length; i+=1) {
//刪除方法名下所有綁定的propertychange事件
el.detachEvent("onpropertychange" , arrEv[i]);
}
}
}
return this;
}
}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子橡淑,更是在濱河造成了極大的恐慌傲绣,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件压固,死亡現(xiàn)場離奇詭異球拦,居然都是意外死亡,警方通過查閱死者的電腦和手機帐我,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進店門坎炼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人拦键,你說我怎么就攤上這事谣光。” “怎么了芬为?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵萄金,是天一觀的道長。 經(jīng)常有香客問我媚朦,道長氧敢,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任询张,我火速辦了婚禮孙乖,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己的圆,他們只是感情好鼓拧,可當我...
    茶點故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著越妈,像睡著了一般季俩。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上梅掠,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天酌住,我揣著相機與錄音,去河邊找鬼阎抒。 笑死酪我,一個胖子當著我的面吹牛,可吹牛的內容都是我干的且叁。 我是一名探鬼主播都哭,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼逞带!你這毒婦竟也來了欺矫?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤展氓,失蹤者是張志新(化名)和其女友劉穎穆趴,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體遇汞,經(jīng)...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡未妹,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了空入。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片络它。...
    茶點故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖歪赢,靈堂內的尸體忽然破棺而出酪耕,到底是詐尸還是另有隱情,我是刑警寧澤轨淌,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布,位于F島的核電站看尼,受9級特大地震影響递鹉,放射性物質發(fā)生泄漏。R本人自食惡果不足惜藏斩,卻給世界環(huán)境...
    茶點故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一躏结、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧狰域,春花似錦媳拴、人聲如沸黄橘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽塞关。三九已至,卻和暖如春子巾,著一層夾襖步出監(jiān)牢的瞬間帆赢,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工线梗, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留椰于,地道東北人。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓仪搔,卻偏偏與公主長得像瘾婿,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子烤咧,可洞房花燭夜當晚...
    茶點故事閱讀 43,724評論 2 351

推薦閱讀更多精彩內容

  • 1. tab列表折疊效果 html: 能源系統(tǒng)事業(yè)部 崗位名稱: 工作地點 崗位名...
    lilyping閱讀 1,845評論 0 1
  • 單例模式 適用場景:可能會在場景中使用到對象偏陪,但只有一個實例,加載時并不主動創(chuàng)建髓削,需要時才創(chuàng)建 最常見的單例模式竹挡,...
    Obeing閱讀 2,058評論 1 10
  • 為什么人會有不開心呢,是因為自己太蠢立膛,太笨揪罕,還是自己的心太小,想的太多宝泵。
    別人眼中所謂的那個人閱讀 141評論 0 0
  • 概念 flex container(flex容器) 任何一個HTML元素都可以指定成flex布局(display:...
    梁同學de自言自語閱讀 835評論 0 0
  • “放著長遠的眼光好啰,用利他主義的方式來做利己的事情”這段話還是得探討,道理是沒問題儿奶,而要落地框往,則還需從自身入手才行。...
    水是一種狀態(tài)閱讀 352評論 0 0