zoukankan      html  css  js  c++  java
  • 【Web】豆瓣绑定事件的方法初探

            在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~✪

  • 相关阅读:
    菜鸟学存储:网络存储IP SAN与IB SAN
    读xml高手
    预先加载图片
    xred520
    最简单准确的硬盘整数分区设置操作方法
    Google 每天处理约 20000TB 的数据
    IE 8 无法正常使用网站后台编辑器问题
    常用的JS技术1
    adodb stream 使用说明
    [Tools] JDGUI(Java Decompiler)
  • 原文地址:https://www.cnblogs.com/younglaker/p/3081065.html
Copyright © 2011-2022 走看看