function FastClicklayer options var oldOnClick; options = options ; Whether a click is currently being tracked type boolean thistrackingClick = false; Timestamp for when click
这段代码是 FastClick 库的构造函数,用于实例化一个 FastClick 对象,并为指定的 DOM 元素绑定事件。该库主要用于解决移动端浏览器的点击事件延迟问题。
该函数接收两个参数,第一个参数是要绑定事件的 DOM 元素,第二个参数是一些配置选项。在函数内部,首先对配置选项进行了一些处理,然后通过给当前对象添加属性的方式初始化了一些状态变量,如 trackingClick、touchStartX 等等。接着,通过 bind 函数将 this 对象绑定到一些事件处理函数中,这样这些函数内部的 this 就可以正确指向当前 FastClick 对象了。
然后,根据设备类型,分别绑定了一些鼠标和触摸事件的处理函数。对于不支持 Event#stopImmediatePropagation 方法的浏览器(如 Android 2),还进行了一些 hack 处理,确保取消点击事件的时候不会影响其他事件的回调函数。
最后,如果要绑定的 DOM 元素原本就有 onclick 处理函数,还将其提取出来并添加到 FastClick 对象的 click 事件中。
原文地址: https://www.cveoy.top/t/topic/L9I 著作权归作者所有。请勿转载和采集!