Heim  >  Artikel  >  Web-Frontend  >  JQuery自定义事件的应用 JQuery最佳实践_jquery

JQuery自定义事件的应用 JQuery最佳实践_jquery

WBOY
WBOYOriginal
2016-05-16 18:22:19841Durchsuche

知识要点:

1,自定义事件custom events及事件的订阅

2,trigger、bind、unbind方法的使用

3,带命名空间的自定义事件

将下面内容粘贴至txt文档后再直接粘贴至firebug的控制台,运行看看。

复制代码 代码如下:

/*
JQuery自定义事件的应用-Javascript OO
有一帅哥叫Levin,在某公司前端设计部工作,他的主管是大帅哥A,经理是大美眉B。
领导们希望可以抽空瞄瞄这家伙每周的工作情况,于是。。。
Levin每周一要用google doc写一份关于上周工作的总结,并被要求写完后要MSN通知A和B。。。
Levin非常乐意做周总结,但是他提出了一个建议:
既然我用google doc写好了,你们喜欢看便用google reader订阅我的文档更新吧,我不喜欢用微软的MSN。。。

这丫...A和B头顶乌鸦飘了几秒,但欣然答应。
*/

//这个是Levin同学
复制代码 代码如下:

var Levin={name:"Levin"};
Levin=$(Levin);


//每周要写周总结
复制代码 代码如下:

Levin.bind("evt_weeklyReport",function(evt){
alert(this.name+"高呼:Yeah!周总结已经写好啦.");
});


//主管A
复制代码 代码如下:

var A={name:"帅哥A"};

//他要订阅Levin的周总结
复制代码 代码如下:

A.rssLevin=function(){
Levin.bind("evt_weeklyReport.fromA",function(evt,data){
alert(A.name+":嗯,不错,Levin还是挺积极的嘛!");
})
};
A.rssLevin();

//经理B
复制代码 代码如下:

var B={name:"美眉B"};


//她也订阅Levin的周总结
复制代码 代码如下:

B.rssLevin=function(){
Levin.bind("evt_weeklyReport.fromB",function(evt,data){
alert(B.name+":周总结呆会看,先看看他说的那个网站");
window.location=evt.site;
})
};
B.rssLevin();


//每次Levin同学写好周总结后便会用google doc发布一下
复制代码 代码如下:

Levin.trigger({type:"evt_weeklyReport",site:"http://jb51.net"});


//经理B突然有一天去搜狐做了,不再订阅Levin的周结...
[code]
B.unRssLevin=function(){
alert("我要去搜狐做副总裁啦,哈哈");
Levin.unbind("evt_weeklyReport.fromB");
return true;
}();
[html]

//尽管B跳槽了,周总结还是要按时发布的。。。
复制代码 代码如下:

Levin.trigger({type:"evt_weeklyReport",site:"http://jb51.net"});
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn