zepto中的tap穿透】的更多相关文章

有一个项目,浮层上是有点击的按钮,但是用tap就会穿透,触发浮层下的页面的点击事件.后来问同事和经过自己尝试,发现用click就可以解决这个问题.…
前言:   在使用zepto.js之前,你首先要知道它是什么?为什么要使用它?以及它和jquery有什么区别? ①:简单来说zepto是一个轻量级的针对现代高级浏览器的JavaScript库, 它与jquery有着类似的api,可以理解为jquery的精简版 ②:zepto针对移动端删除了大量jQuery的兼容代码,使得体积压缩以后只有十几KB ③:之前看到知乎上有关zepto和jquery区别的总结写得还不错,详情:https://www.zhihu.com/question/25379207…
一.什么是zepto tap事件穿透?tap事件穿透就是,页面和弹框上都有绑定点击事件,最上层的弹框绑定了tap事件,下层的页面绑定了click事件,在执行完上层事件后会紧接着触发下层事件,进而出现事件穿透.二.为什么会出现tap穿透?因为tap和click都执行了.原理是,点击元素后,tap事件需要冒泡到document上才会触发,而在冒泡到document之前,手指接触和离开屏幕(touchstart/touchend)是会触发click事件的.因为click事件是延迟触发,所以tap事件先…
zepto.js和mui一起使用的时候,因为都有tap事件绑定tab事件后会多次触发还会报错,这时不引用zepto中的touch.js就可以了,只用mui的tap相关事件. $(function () { //mui初始化配置,设置需要的事件为true就可使用了 mui.init({ gestureConfig: { tap: true, //默认为true doubletap: true, //默认为false longtap: true, //默认为false //swipe: true,…
1. touch库实现了什么和引入背景 click事件在移动端上会有 300ms 的延迟,同时因为需要 长按 , 双触击 等富交互,所以我们通常都会引入类似 zepto 这样的库.zepto 中touch库实现了 'swipe', 'swipeLeft', 'swipeRight', 'swipeUp', 'swipeDown', 'doubleTap', 'tap', 'singleTap', 'longTap' 这样一些功能. 2.touch库实现'swipe', 'swipeLeft',…
1. touch库实现了什么和引入背景 click事件在移动端上会有 300ms 的延迟,同时因为需要 长按 , 双触击 等富交互,所以我们通常都会引入类似 zepto 这样的库.zepto 中touch库实现了 'swipe', 'swipeLeft', 'swipeRight', 'swipeUp', 'swipeDown', 'doubleTap', 'tap', 'singleTap', 'longTap' 这样一些功能. 2.touch库实现'swipe', 'swipeLeft',…
VUE中CSS样式穿透 1. 问题由来 在做两款H5的APP项目,前期采用微信官方推荐的weui组件库.后来因呈现的效果不理想,组件不丰富,最终项目完成后全部升级采用了有赞开发的vant组件库.同时将webpack顺利从3升级到4(项目结构 webpack+vue+vue-store+vue-router+vant+less).相信好多做TOB的开发朋友都会选择顺手组件库.组件库内置了很多样式,方便了我们开发者,同时又因高度封装,有时也会给我们带来一点点困扰.比如,在使用vant组件库中的环形进…
前言 时间过得可真快,转眼间2017年已去大半有余,你就说吓不吓人,这一年你成长了多少,是否荒度了很多时光,亦或者天天向上,收获满满.今天主要写一些看Zepto基础模块时,比较实用的部分内部方法,在我们日常工作或者学习中也会用的到. 源码仓库原文链接 1. 将数组铺平(flatten) 面试或者工作中经常遇到要将多维数组铺平成一维数组.例如将[1, 2, [3], [4], [5]]最后变成[1, 2, 3, 4, 5] function flatten(array) { return arra…
当两个层重叠在一起时,使用Zepto的tap事件时,点击上面的一层时会触发下面一层的事件,特别是底层如果是input框时,必“穿透”,“google”说原因是“tap事件实际上是在冒泡到body上时才触发”,也就是Zepto的tap事件是绑定在document上的,解决方案: 1.使用github上有一个叫做fastclick的库: 2.监听touchend事件,并在事件中使用preventDefault()阻止冒泡: 3.使用css3的pointer-events=true,pointer-e…
当两个层重叠在一起时,或是有个弹窗,使用Zepto的tap事件时,点击上面的一层时会触发下面一层的事件,特别是底层如果是input框时,必“穿 透”,“google”说原因是“tap事件实际上是在冒泡到body上时才触发”,也就是Zepto的tap事件是绑定在document上的,所以会导致,这个还未求证. 如下图, 当点击关闭按钮,如果下面有商品a链接,则会穿透(关闭的同时,触发了链接):     现象原因: zepto的tap通过兼听绑定在document上的touch事件来完成tap事件的…
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta id="viewport" name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0…
html代码: <div class="xh-lxx-cart-count1"> <span class="minus">-</span> <input type="number" name="number" value="2" class="number"/> <span class="plus">+<…
上次看zepto的init方法时,有一段属性设置的代码,先来看看其表现: if (isPlainObject(properties)) { nodes = $(dom) $.each(properties, function(key, value) { if (methodAttributes.indexOf(key) > -1) nodes[key](value) else nodes.attr(key, value) }) } 在分析这里的时候,一直很困惑,为什么实例化dom之后,对node…
不过在使用时需要先获取两个红色显示的变量,graphicRaycaster和eventSystem. 这两个变量分别对应的是Canvas中的GraphicRaycaster组件和创建UI时自动生成的“EventSystem”中的EventSystem组件. 引用 using UnityEngine;using System.Collections.Generic;using UnityEngine.EventSystems;using UnityEngine.UI; private Graphi…
Bug描述:使用mint-ui的picker组件时,datepicker和picker在ios的webview(bug是在Hybrid App发现的)中会出现滑动穿透的现象,导致弹层后面的页面也会滚动,这使得用户体验很不好. 方案1:由于picker组件的滚动是用touch事件 + translate实现的,所以,我们可以在picker弹层出现的时候禁止页面的默认滚动机制,picker弹层消失的时候解除禁用页面的默认滚动机制. data () { return { /*---------监听函数…
好吧,其实是标题党了,哈哈,只是想总结一下工作中遇到$.proxy()的用法而已. 一.语法: $.proxy()有两种使用语法 1)$.proxy(fn,context),fn是一个函数,context是执行fn这个函数的上下文. 例如: var obj = {name: 'Zepto'}, handler = function () { alert(this.name) }; $(document).on('click', $.proxy(handler, obj)); 2)$.proxy(…
在使用zepto时,我先引入zepto.min.js,然后引入fx.js,但是在使用animate函数时,控制台却报如下错误: Uncaught TypeError: this.bind is not a function 解决办法: 1.去github中打开src/fx.js,打开链接,把内容添加到zepto.min.js中,问题就解决了.然后需要什么模块就向zepto.min.js中添加该模块的内容,最后只用引入zepto.min.js. 2.zepto的定制: (1)安装nodejs环境…
前言,今天开始学习Zepto源码,这里仅仅几下里面能用到的方法..陆续补充ing... 一,判断类型函数 function type(obj) { return obj == null ? String(obj) : Object.prototype.toString.call(obj) || "Object"; } 稍作改变: (function () { function type(value) { var getType = Object.prototype.toString;…
//zepto没有scrollTo动画,这里扩展了一个scrollTo函数 $.fn.scrollTo = function(options) { var defaults = { scrollTop: 0, //滚动目标位置 durTime: 500, //过渡动画时间 delay: 30, //定时器时间 callback: null //回调函数 }; var opts = $.extend(defaults, options), timer = null, _this = this, c…
为UITableViewCell添加tapped事件,代码如下: class VideoViewController: UIViewController , UITableViewDataSource,UITableViewDelegate { //... func tableView(tableView: UITableView, didDeselectRowAtIndexPath indexPath: NSIndexPath) { // 播放框背景图片 let imageName : Str…
转:http://blog.csdn.net/cllzw/article/details/46438257 常见NA丁穿越解决方案 NAT技术在缓解IPv4地址紧缺问题.构建防火墙.保证网络安全等方面都发挥了重要 作用.然而,NAT设备的广一泛存在却给Internet上的主机,特别是处于不同内网中的主机进行P2P通信带来了障碍,限制了P2P的应用.NAT阻碍主机进行P2P通信的主要原因是NAT不允许公网主机主动访问内网主机,这使得Internet上具有公网IP地址的主机不能主动访问NAT之后的主…
在移动端使用zepto选择器时,一般如果元素不存在会返回一个空的zepto对象. zepto在设置元素样式时,提供了两个入参方式,一种键值对方式$(".ter").css({"height":100}),一种普通入参$(".ter").css("height",100); 使用前者设置样式时,如果元素不存在则返回undefined,使用后者的话则返回一个空的zepto对象.这种情况会在使用连式操作时有区别.上一步返回的是und…
默认情况下,事件在h5页面会穿透传递,比如一div里面套一个div,点击上层div,下层div也会响应 要阻止事件穿透,使用event.stopPropagation(); 代码示例: <div @click="testout($event)> <div @click="testin($event)"></div> </div> ....... testin(event) { ...... event.stopPropagati…
多年前曾经写过一个关于NAT钻洞的实验.现在发现那个做法在我现在的路由器上已经不管用了.经过一番搜索发现时过境迁,世界变化很快,新路由器已经是UPnP了.在这里重新理一下几种方法. 第一种,也是不太靠谱的一种,因为没有特定的标准.这种方法依靠路由器的特定逻辑: – 路由器尽可能保持内部端口和外部端口一致.所以你可以假设自己的内部端口就是外部端口.或者路由器尽量使用同一外部端口对应某一内部端口.– 在内部应用发出UDP消息后,路由器允许任何外部设备通过上述外部端口发送消息到同一内部端口.– 外部I…
需要阻止浏览器默认滑动的事件 document.addEventListener('touchmove', function (event) { event.preventDefault(); }, false); $('body').swipeUp(function(){ console.log('上滑'); });…
参考一下的文章即可: https://www.cnblogs.com/karthuslorin/p/9038854.html http://www.php.cn/js-tutorial-399072.html…
前言 为什么通过touch可以触发click事件? touch事件的来源 PC网页上的大部分操作都是用鼠标的,即响应的是鼠标事件,包括mousedown.mouseup.mousemove和click事件.一次点击行为,事件的触发过程为:mousedown -> mouseup -> click 三步. 手机上没有鼠标,所以就用触摸事件去实现类似的功能.touch事件包含touchstart.touchmove.touchend,注意手机上并没有tap事件.手指触发触摸事件的过程为:touch…
作为一个前端,而且作为一个做移动端开发的前端,那意味着你要有三头六臂,跟iOS开发哥哥一起打酱油,跟Android开发哥哥一起修bug... Android vs Ios 我在webkit内核的chrome中进行开发的页面,拿着iPhone和安卓机来进行测试,传说中它们的浏览器内核也是WebKit,那么问题来了,同样的页面为什么在ios中和安卓中表现不同,出现了各种稀奇古怪的bug... 我尝试找下两者的根本区别: - iOS 随着2007年6月29日iPhone的上市,WebKit进入iPho…
mobileTech A useful tools or tips list for mobile web application developing 这个项目收集移动端开发所需要的一些资源与小技巧 工具类网站 HTML5 与 CSS3 技术应用评估 各种奇妙的hack 几乎所有设备的屏幕尺寸与像素密度表 移动设备参数表 ios端移动设备参数速查 浏览器兼容表 移动设备查询器 移动设备适配库 移动设备适配库2 viewport与设备尺寸在线检测器 html5 移动端兼容性速查 在线转换字体 c…
A useful tools or tips list for mobile web application developing 这个项目收集移动端开发所需要的一些资源与小技巧 工具类网站 HTML5 与 CSS3 技术应用评估 各种奇妙的hack 几乎所有设备的屏幕尺寸与像素密度表 移动设备参数表 ios端移动设备参数速查 浏览器兼容表 移动设备查询器 移动设备适配库 viewport与设备尺寸在线检测器 html5 移动端兼容性速查 在线转换字体 css3 选择器测试 兼容性速查表 浏览器…