浅谈jquery事件处理
浅谈jquery事件处理
发布时间:2016-12-30 来源:查字典编辑
摘要:在以jQuery为基础库的前端开发体系中,经常会在一个页面上通过各种标识绑定许许多多的事件。就算简单的使用了事件代理,也还是造成了事件的分散...

在以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()

})

这样的话,一种类型的事件,集中到一起。

在某些时候,能够起到很好的作用。

以上所述就是本文的全部内容了,希望大家能够喜欢。

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Javascript教程学习
热门Javascript教程学习
编程开发子分类