在以jQuery为基础库的前端开发体系中,经常会在一个页面上通过各种标识绑定许许多多的事件。就算简单的使用了事件代理,也还是造成了事件的分散,不好维护和管理。
那么,如何解决这个问题呢?而我,想到了backbone中的events。如下:
复制代码 代码如下:
events: {
"click .icon": "open",
"click .button.edit": "openEditDialog",
"click .button.delete": "destroy"
}
也就是,把事件聚集到一起,类似事件处理中心这么一个概念。
简单的理了一下实现思路:
使用事件代理的方式,将事件绑定到body节点。(某些事件自身是不冒泡的,在此暂时不做研究)
对于事件的执行对象,给一个统一标识。
事件的执行函数,集中处理。
复制代码 代码如下:
<body>
<div data-click-center="handler1"></div>
<div data-click-center="handler2"></div>
</body>
// 事件处理中心
var ClickEventCenter = {
"handler1": function () {
// do something...
},
"handler2": function () {
// do something...
}
// ...
}
// 事件绑定
$body.on("click", "[data-click-center]", function () {
var handlerName = $(this).data("click-center");
var handler = ClickEventCenter[handlerName]
if ($.isFunction(handler)) handler()
})
这样的话,一种类型的事件,集中到一起。
在某些时候,能够起到很好的作用。
以上所述就是本文的全部内容了,希望大家能够喜欢。
jquery,事件处理
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。