基于jquery,页面如何给自定义on事件传递数据?
发布于 作者:苏南大叔 来源:程序如此灵动~
苏南大叔在本文中要描述一下jquery
的on事件,虽然jquery
的影响力越来越赶不上vue
们。但是作为传统js
的代表,还是有些代表性的。
本文中,苏南大叔将要描述一组功能。如何在$(window)
上绑定一个事件,如何触发这个事件,以及如何传递数据,以及如何移除这个事件。
绑定一个自定义事件
$(window).on("myevent",function(event,param1,param2){
console.log("第一种绑定方式");
});
$(window).bind("myevent",function(event,param1,param2){
console.log("第二种绑定方式",param1);
});
这里需要注意的一点是:第一个参数是event
事件,并不是传统意义上由trigger
中传递来的第一个真正的参数。在这点上,有一点绕,静心想想看。
触发一个自定义事件
$(window).trigger("myevent",["param1","param2"]);
当然了,如果您没有数据要传递的话,就可以直接这样写。
$(window).trigger("myevent");
删除一个自定义事件
$(window).unbind("myevent");
效果截图
newsn.net:这里是【评论】可见内容
如果页面中有两个jquery
的话,那么$(window)很有可能仅仅是其中某个window对象。绑定的事件,是和这个$
对象紧密联系的。如果有两个jquery
,就意味着有两个$
对象(其中一个肯定改名了),两者的事件并非通用的。这点一定要注意。
小结
虽然苏南大叔也喜欢重复造轮子,不过在这里,苏南大叔并不想重新造这个轮子。既然jquery
做了很好的封装,那么我们就拿来用吧。考虑到不得人心的ie系列,这种兼容写起来做也是很痛苦的。
一些苏南大叔的jquery
相关经验文章呢,可以点击这里查看:


