在以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中的事件,包括了浅谈jQuery中的事件的使用技巧和注意事项,需要的朋友参考一下 JQuery事件初见 1.JQuery中的事件绑定 其实呢,JQuery中标准的事件绑定是这样写下:(如下) 但是每次这样写,太过麻烦,还怎么做到Write less,Do more? 所以我们习惯的简写成。 $("#btn").click(function(){ }) 这样就方便了
本文向大家介绍浅谈jQuery事件绑定原理,包括了浅谈jQuery事件绑定原理的使用技巧和注意事项,需要的朋友参考一下 jq里面有一个data的方法,给dom元素绑定相关的数据的。当给dom用jq的方法绑定了事件,会生成对应的时间列表 可以看下面的例子(请在firefox中查看 因为firefox中对象支持toSource()) data是给元素绑定数据的 数据源是 cache对象 当元素绑定
本文向大家介绍浅谈Jquery为元素绑定事件,包括了浅谈Jquery为元素绑定事件的使用技巧和注意事项,需要的朋友参考一下 Jquery如何为元素绑定事件,小记一下,防止忘记了! 以上所述就是本文的全部内容了,希望大家能够喜欢。
本文向大家介绍浅谈JavaScript的事件,包括了浅谈JavaScript的事件的使用技巧和注意事项,需要的朋友参考一下 1、事件流 事件流描述的是从页面中接收事件的顺序。但是IE提出的是冒泡流,而Netscape Communicator提出的是捕获流。 JavaScript事件流 2、事件冒泡(event bubbling) 事件开始由最具体的元素(嵌套层次最深的那个节点)接
本文向大家介绍浅谈 jQuery 事件源码定位问题,包括了浅谈 jQuery 事件源码定位问题的使用技巧和注意事项,需要的朋友参考一下 昨天群里有人问了个事件源码定位的问题,简单描述下是这样的。 在一个不是自己写的页面上,如何快速定位到他绑定的事件代码在哪?(页面用的是jQuery) 这个问题,说难不难,说简单也没那么简单,万一用的是委托之类也会麻烦点。 在 chrome 的控制台里有个 Even
本文向大家介绍浅谈angularJS中的事件,包括了浅谈angularJS中的事件的使用技巧和注意事项,需要的朋友参考一下 什么是事件 •如同浏览器响应浏览器层的事件,比如鼠标点击、获得焦点,angular应用也可以响应angular事件 •angular事件系统并不与浏览器的事件系统相通,我们只能在作用域上监听angular事件而不是DOM事件 事件传播 因为作用域是有层次的,所以我们可以在作用