zoukankan      html  css  js  c++  java
  • jQuery事件处理(四)

    看了几天,决定整理一下jQuery事件处理的整体设计思路

    1、通过add方法给选中的元素注册事件处理程序(通过缓存系统将事件储存到cache,而不是绑定到元素上)

      a、在存储之前,会为事件处理程序增加guid属性(jQuery里的唯一标识),

      b、先从cache中取出已经储存的以当前元素为桥梁的对象的events属性,如果没有就新建一个。

      c、再从cache中取出已经储存的以当前元素为桥梁的对象的handler属性(是一个方法),如果没有就新建一个。

      备注:cache中存储的对象有两个属性:events、handler。

    2、通过dispatch方法分派事件处理函数(从缓存中读取出所有的事件处理函数,根据事件类型匹配到对应的事件处理函数)

    3、分派逻辑执行之前,通过fix方法封装jQuery的event对象,并在分派逻辑中将新的event对象传入事件处理程序中

    4、分派逻辑执行中,调用handler方法组装同一事件的执行队列,handler方法返回一个执行队列

    5、执行事件处理函数

    仍然存在的疑问:如何监听事件被触发从来开始调用dispatch进行事件处理函数分派工作的。

  • 相关阅读:
    JDK+Jmeter 环境搭建
    APP自动化中三大定位工具
    APP自动化环境配置
    pytest生成allure报告
    pytest怎么标记用例?
    pytest中怎么实现参数化?
    pytest中怎么引用前置中的变量
    pytest_前置后置
    toast文本提示信息元素获取
    js处理日历
  • 原文地址:https://www.cnblogs.com/charling/p/3470322.html
Copyright © 2011-2022 走看看