【Web】豆瓣绑定事件的方法初探
2013-05-16 01:38
183 查看
在mygoare的指导下,大致看了一下实现过程,感谢毛哥,每次和他交谈都受益匪浅~ 下面以豆瓣读书为例,在未登陆状态下,点击“想读”等按键,会弹出登陆框
查看此元素,有两个特殊的类“j”“a_show_login”。关于右边的事件绑定,进去这个js文件并不能找到相关功能,所以我只好全部搜索其他js文件。
根据常规命名习惯可以猜想,这个登陆框的函数应该是“show_login”,所以搜索的关键字是“show_login”,挨个js文件搜索。最后在 "packed_master2876199327.js"找到相关方法, load_event_monitor方法,给所有带 “j”的类绑定事件。正则“/a_(\w+)/”就是获取类名带“a_”前缀的类。
普通的事件绑定会类似这样获取DOM对象“$(selectors……)”然后挨个绑定,但是对于大网站来说是个可怕的事情,豆瓣旗下还有很多产品,都需要做登陆检测,再如果多加几个功能也需要做检测,就悲剧了。所以为了提高复用性,就得有高效、不复写js的办法。这个函数就是干这件事,分析含有类“j”的DOM对象所含的“a_”类名,根据类名绑定相应事件。
actionName就是分析出来的功能,然后指定给 Douban.init_actionName()方法。
例如这里的a_show_login 就指定给 Douban.init_show_login()。
还有很多类似的事件,都是这样统一绑定的,例如:
≡≡≡≡≡≡≡≡≡≡★ From Laker's blog ★≡≡≡≡≡≡≡≡≡≡
¤ ╭⌒╮☀Coding and changing~☀ ╭╭ ⌒╮
✪Fighting and insisting~✪
查看此元素,有两个特殊的类“j”“a_show_login”。关于右边的事件绑定,进去这个js文件并不能找到相关功能,所以我只好全部搜索其他js文件。
根据常规命名习惯可以猜想,这个登陆框的函数应该是“show_login”,所以搜索的关键字是“show_login”,挨个js文件搜索。最后在 "packed_master2876199327.js"找到相关方法, load_event_monitor方法,给所有带 “j”的类绑定事件。正则“/a_(\w+)/”就是获取类名带“a_”前缀的类。
普通的事件绑定会类似这样获取DOM对象“$(selectors……)”然后挨个绑定,但是对于大网站来说是个可怕的事情,豆瓣旗下还有很多产品,都需要做登陆检测,再如果多加几个功能也需要做检测,就悲剧了。所以为了提高复用性,就得有高效、不复写js的办法。这个函数就是干这件事,分析含有类“j”的DOM对象所含的“a_”类名,根据类名绑定相应事件。
actionName就是分析出来的功能,然后指定给 Douban.init_actionName()方法。
例如这里的a_show_login 就指定给 Douban.init_show_login()。
还有很多类似的事件,都是这样统一绑定的,例如:
≡≡≡≡≡≡≡≡≡≡★ From Laker's blog ★≡≡≡≡≡≡≡≡≡≡
¤ ╭⌒╮☀Coding and changing~☀ ╭╭ ⌒╮
✪Fighting and insisting~✪
相关文章推荐
- 使用decj简化Web前端开发一:声明式Javascript动态加载和浏览器事件绑定
- jQuery 绑定事件及移除绑定事件方法和元素事件列表
- JavaScript事件绑定的方法说明
- jQuery unbind 删除绑定事件 / 移除标签方法
- Apple 移动设备绑定动态生成元素点击事件$(document).on('click',element,callback)失效解决方法
- js 事件绑定的方法bind(),on(),off()
- $scope绑定事件之$on方法和$emit,$broadcast
- jQuery delegate方法实现Ajax请求绑定事件不丢失
- Jquery on方法绑定事件后执行多次的实现方法
- Jquery on方法绑定事件后执行多次的解决方法
- 跨浏览器的事件处理方法(Professional JavaScript for Web Developers)
- Android中的WebView禁止响应点击事件的方法
- JavaScript 中 onload 事件绑定多个方法
- 浅析jQuery事件之on()方法绑定多个选择器,多个事件
- 绑定事件统一方法
- jQuery中事件绑定bind、live、delegate、on方法
- JQuery实现click事件绑定与触发方法分析
- jquery 绑定事件的优化处理方法
- 01 JS-DOM之--事件以及绑定方法
- JavaScript绑定事件的方法[3种]