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

  • 相关阅读:
    VMWare安装Win10虚拟机 昆明
    c#游戏进程杀手 昆明
    图解机器学习读书笔记CH2
    深度学习中的线性代数知识详解
    图解机器学习读书笔记CH1
    三分算法
    POJ 2356 Find a multiple【抽屉原理】
    POJ 1170 Shoping Offers(IOI 95)
    HDU 2438 Turn the corner【三分】
    HDU 3552 I can do it! 【贪心】
  • 原文地址:https://www.cnblogs.com/younglaker/p/3081065.html
Copyright © 2011-2022 走看看