码迷,mamicode.com
首页 > 其他好文 > 详细

发布+订阅 event事件

时间:2018-08-26 13:11:44      阅读:113      评论:0      收藏:0      [点我收藏+]

标签:改变   []   div   option   turn   dde   test   als   function   

function on(ele,type,f) {//type 对应报社的某个频道
//若是JS原生事件,我们需要改变绑定方式
if(/^(my)/.test(type)){
ele[type] = ele[type] || [];
var n = ele[type].indexOf(f);
if(n > -1)return;//解决重复绑定
ele[type].push(f);
}else { //需要判断 type 带不带 on;若带着 on ;就直接用; 不带的话就补上
// if(/^(on)/.test(type)){
// ele[type] = f;
// }else {
// ele[‘on‘+type] = f;
// }
type = /^(on)/.test(type) ? type : ‘on‘ + type;
ele[type] = f;

// ele.addEventListener(type,f,false);
}
}
//fire(this,‘myFly‘) ----> fire(oDiv,‘myFly‘)
function fire(ele,type,options) {
ele[type] = ele[type] || [];
ele[type].forEach((item)=>{
item && item.call(ele,options);
})
}
function off(ele,type,f) {
if(/^(my)/.test(type)){
ele[type] = ele[type] || [];
var n = ele[type].indexOf(f);
if(n != -1){
ele[type].splice(n,1);
}
}else {
//证明是原生的事件
type = /^on/.test(type) ? type : ‘on‘+type;
ele[type] = null;
}

// ele[type][n] = null;
}

发布+订阅 event事件

标签:改变   []   div   option   turn   dde   test   als   function   

原文地址:https://www.cnblogs.com/xieting123/p/9536856.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!