首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

探究 css touch-action 属性

See 这样bug 然后找了一通发现可以用 *{touch-action:none}这个方法 用法是禁用元素(及其不可滚动后代)所有手势,以使用自己提供拖放和缩放行为(地图或游戏表面...当手势开始时,浏览器与触摸元素及其所有祖先触摸动作值相交直到一个实现手势(换句话说,第一个包含滚动元素触摸动作值。...这意味着在实践触摸动作通常仅适用于具有某些自定义行为单个元素,而无需在该元素任何后代上明确指定触摸动作。 手势开始之后,触摸动作值更改将不会对当前手势行为产生任何影响。...值 auto 当触控事件发生在元素时,不进行任何操作。 none 当触控事件发生在元素时,不进行任何操作 pan-x 启用单指水平平移手势。...示例 最常见用法是禁用元素(及其不可滚动后代)所有手势,以使用自己提供拖放和缩放行为(地图或游戏表面) #map { touch-action: none; } 另一种常见模式是使用指针事件处理水平平移图像轮播

1.7K10

「JavaScript 」动画基础 - 03

触屏事件1.1.1 触屏事件概述移动端浏览器... 请注意,本文编写于 2082 天前,最后修改于 173 天前,其中某些信息可能已经过时。 1.1....常见触屏事件如下: 1.1.2 触摸事件对象(TouchEvent) TouchEvent 是一类描述手指在触摸平面(触摸屏、触摸板等)状态变化事件。...触摸事件对象重点我们看三个常见对象列表: 因为平时我们都是给元素注册触摸事件,所以重点记住 targetTocuhes 1.1.3 移动端拖动元素 touchstart、touchmove、touchend...然后用盒子原来位置 + 手指移动距离 手指移动距离: 手指滑动位置 减去 手指刚开始触摸位置 拖动元素三步曲: 触摸元素 touchstart: 获取手指初始坐标,同时获得盒子原来位置...轮播图和瀑布流插件。特点:它一般是为了解决某个问题而专门存在,其功能单一,并且比较小。 我们以前写animate.js 也算一个最简单插件 fastclick 插件解决 300ms 延迟。

1.1K20
您找到你想要的搜索结果了吗?
是的
没有找到

前端成神之路-WebAPIs07

因为平时我们都是给元素注册触摸事件,所以重点记住 targetTocuhes 1.1.3 移动端拖动元素 touchstart、touchmove、touchend 可以实现拖动元素 但是拖动元素需要当前手指坐标值...然后用盒子原来位置 + 手指移动距离 手指移动距离: 手指滑动位置 减去 手指刚开始触摸位置 拖动元素三步曲: (1) 触摸元素 touchstart: 获取手指初始坐标,同时获得盒子原来位置...1.2.3 classList 属性 classList属性是HTML5新增一个属性,返回元素类名。但是ie10以上版本支持。 该属性用于在元素添加,移除及切换 CSS 类。...手指滑动轮播图 本质就是ul跟随手指移动,简单说就是移动端拖动元素 触摸元素touchstart: 获取手指初始坐标 移动手指touchmove: 计算手指滑动距离,并且移动盒子...轮播图和瀑布流插件。 特点:它一般是为了解决某个问题而专门存在,其功能单一,并且比较小。 我们以前写animate.js 也算一个最简单插件 fastclick 插件解决 300ms 延迟。

3.5K10

第127天:移动端-获取触摸位置

一、移动端轮播图滑动 1、先获取手指在轮播元素滑动方向(左右) (1)手指触摸开始时记录手指所在坐标X (2)获取界面上轮播图容器 var $carousels=$('.carousel')...next':'prev'); javascript代码 1 //移动端轮播图滑动 2 3 //1、先获取手指在轮播元素滑动方向(左右) 4 //手指触摸开始时记录手指所在坐标...next':'prev'); 40 41 42 43 } 二、移动端获取触摸方式说明 1.touchstart事件        手指头触摸屏幕事件 2.touchmove...clientX:触摸目标在视口中x坐标。 clientY:触摸目标在视口中y坐标。 identifier:标识触摸唯一ID。 pageX:触摸目标在页面x坐标。...pageY:触摸目标在页面y坐标。 screenX:触摸目标在屏幕x坐标。 screenY:触摸目标在屏幕y坐标。 target:触目的DOM节点目标。

1.4K20

移动端click事件300ms延迟

预备知识:移动端点击一个元素触发事件顺序 以下是四种touch和click事件 touchstart: //手指放到屏幕时触发 touchmove: //手指在屏幕滑动式触发...,且手指未曾在屏幕移动(某些浏览器允许移动一个非常小位移值),且在这个在这个dom上手指离开屏幕,且触摸和离开屏幕之间间隔时间较短(某些浏览器不检测间隔时间,也会触发click)才能触发 上述事件发生顺序...Google Polymer 微软 HandJS @Rich-Harris Points 为避免 300 毫秒点击延迟,我们主要关心这些 polyfill 是如何在非 IE 浏览器模拟...,用来识别click事件是原生还是模拟 clickEvent.forwardedTouchEvent = true; // 在目标元素触发该鼠标事件, targetElement.dispatchEvent...指针事件和css touch-action:新属性,可能存在浏览器兼容问题,仅为解决点击延迟问题儿引入一整套指针事件有点过了。

2.7K21

移动端事件穿透原理与解决方案

目前市面上主流移动设备一般都使用触摸屏,触摸屏所使用触摸事件模型与传统网页鼠标事件模型有所区别,这种差异往往使初涉移动端开发工程师陷入困境,事件穿透问题便是其中一个,本文将带你了解事件穿透及如何在实际项目中选择合适方案解决事件穿透问题...在很多情况下,触摸事件和鼠标事件会同时被触发(目的是让没有对触摸设备优化代码仍然可以在触摸设备正常工作)。...正是由于这种 click 事件滞后性设计为事件穿透(点击穿透)埋下了伏笔。 什么是事件穿透 事件穿透是指触发某个目标元素触摸事件时,会同时触发该目标元素相同位置其他元素鼠标点击事件。...目标元素使用触摸事件跳转至新页面,新页面对应位置元素触发 click 事件或 a 链接跳转。 注意:a 标签链接跳转事件属于 click 事件。...在实际项目开发,纯移动端项目优先推荐禁用 click 事件方法,多端项目优先推荐禁用 touch 事件方法。

1.3K20

解决移动端click事件300ms延时

移动端click事件会有300ms延时,原因是移动端屏幕双击会缩放页面。...三种解决方案如下: 1.禁用缩放,浏览器禁用默认双击缩放行为并且去掉 300ms 点击延迟 2.利用...touch 事件自己封装这个事件解决 300ms 延迟。...原理就是: 当我们手指触摸屏幕,记录当前触摸时间 当我们手指离开屏幕,用离开时间减去触摸时间 如果时间小于 150ms,并且没有滑动过屏幕,那么我们就定义为点击 //封装tap,解决click300ms...调用 tap(div,function(){ }) 3.使用插件,fastclick 插件解决 300m 延迟 js 插件是 js 文件,它遵循一定规范编写,方便程序展示效果,拥有特定功能且方便调用,轮播图和瀑布流插件

67510

JavaScript之移动端网页特效(1)

touch对象代表一个触摸点,触摸点可能是一根手指,也可能是一根触摸笔.触屏事件可相应用户手指(或触控笔),对屏幕或者触控板操作 常见触屏事件如下: 试着写一下,切换成模拟手机调试 再来试试触摸滑动事件...我们先来看看触摸事件对象吧: 可以看到有很多很多属性: 但是我们现阶段只要了解三个就好了: 我来测试一下第一个: 很可惜我们谷歌浏览器只能模拟一只手指头触摸,length就代表有几根手指在屏幕触摸...再来看看最后一个: 当我们触摸结束时,touches和targetTouches都是0,只有changedTouches是有变化,因为它可以记录从有到无和从无到有 这三个重点是:...接下来做移动端轮播图案例: 先搭建结构,虽然用是以前携程案例,但我还是单独在页面写吧,不然很麻烦....该属性用于在元素添加,移除及切换CSS类.有以下方法: 添加类: element.classList.add('类名'); (注意类名不需要加'.')

2.5K20

移动端轮播图笔记

1.触屏事件 1.1触屏事件概述 移动端浏览器兼容性好,我们不需要考虑以前JS兼容问题,可以放心使用原生JS书写效果,但是移动端也有自己独特地方,比如触屏事件touch(也叫触摸事件),Android...触屏事件可以相应用户手指对屏幕或者触控板操作 常见触屏事件: 1.touchstart:手指触摸到一个DOM元素时触发 2.touchmove:手指在一个DOM元素滑动时触发 3.touchend:...手指从一个DOM元素移开时触发 1.2触摸事件对象(TochEvent) TouchEvent是一类描述手指在触摸平面(触摸屏、触摸板等)状态变化事件。...1.touches:正在触摸屏幕所有手指一个列表 2.targetTouches:正在触摸当前DOM元素手指一个列表(最常使用) 3.changeTouches:手指状态发生了改变列表,从无到有...然后用盒子原来位置+手指移动距离 4.手指移动距离:手指滑动位置减去手指刚开始触摸位置 拖动元素三部曲: (1)触摸元素touchstart:获取手指初始坐标,同时获得盒子原来位置

2.4K21

移动端touch事件处理

在iPhone 3Gs发布时候,其自带移动Safari浏览器就提供了一些与触摸(touch)操作相关事件。随后,Android浏览器也实现了相同事件。...触摸事件(touch)会在用户手指放在屏幕上面的时候、在屏幕滑动时候或者是从屏幕移开时候出发。...下面具体说明:  touchstart事件:当手指触摸屏幕时候触发,即使已经有一个手指放在屏幕也会触发。  touchmove事件:当手指在屏幕滑动时候连续地触发。...关于这个事件的确切出发时间,文档并没有具体说明,咱们只能去猜测了。触摸事件还包含下面三个用于跟踪触摸属性       touches:表示当前跟踪触摸操作touch对象数组。  ...TouchList是一个只读类数组对象,它表示在当前touch事件,与触摸接触点个数,比如:如果你当前是三根手指在同时在触摸,那么每一根手指都会有一个相对应touch对象,来记录对应手指操作相关信息

1.6K20

前端成神之路-WebAPIs06

比如触屏事件 touch(也称触摸事件),Android和 IOS 都有。 touch 对象代表一个触摸点。触摸点可能是一根手指,也可能是一根触摸笔。...触摸事件对象(TouchEvent) TouchEvent 是一类描述手指在触摸平面(触摸屏、触摸板等)状态变化事件。...触摸事件对象重点我们看三个常见对象列表: ?...因为平时我们都是给元素注册触摸事件,所以重点记住 targetTocuhes 1.3.3.案例:移动端拖动元素 touchstart、touchmove、touchend可以实现拖动元素 但是拖动元素需要当前手指坐标值...然后用盒子原来位置 + 手指移动距离 手指移动距离: 手指滑动位置 减去 手指刚开始触摸位置 拖动元素三步曲: (1) 触摸元素 touchstart: 获取手指初始坐标,同时获得盒子原来位置

1.3K40

vue.js项目中用原生js实现移动端轮播

Vue.js项目中封装轮播图组件 前言 一、了解原生js移动端事件 二、轮播图实战 三、效果图 结束语 前言 今天我在vue.js项目实战开发过程遇到了实现轮播图效果问题,因为不想因为一个轮播图而引用整个...在每个事件被触发后,会返回一个event参数,event里面包含着三个触摸列表,即: event触摸列表 内容 touches 屏幕所有的手指列表 targetTouches 当前这个DOM手指列表...changedTouches 涉及当前事件手指列表(本实例尽量用这个) 触摸列表每个触摸对象(即每个手指)都对应着一些触摸时生成信息(只写了部分) 触摸信息 含义 clientX / clientY...[0].pageX 获得我们触发( event )触摸事件那个手指( changedTouches[0] )当前位置相对于页面的位置( pageX ) 二、轮播图实战 我们做轮播图功能只用到前三种触发事件...触摸结束时横坐标)、MoveLength(移动长度(有正负))、CurrentImg(当前轮播图索引) 在页面挂在完成后, 触发methodsstartPlay方法,开启轮播功能 在触摸事件主要运用

9K20

05移动端事件

一、移动端三大事件          1、手指按下     ontouchstart      2、手指触摸     ontouchmove           3、手指抬起     ontouchend...下层不要使用有焦点特性元素a或者其他有点击行为元素)     法2....6、问题:阻止了元素焦点行为 //解决方法(解决因为document阻止事件导致 input 框不能触焦问题) txt.addEventListenr('touchstart', function...事件对象:用户在浏览器下触发某个行为,事件对象会记录用户操作时相关细节(位置信息等))      1、touches:当前位于 屏幕(包括dom元素之外) 所有手指列表      2、targetTouches...:位于当前 DOM 元素(当前dom元素之外无法获取)手指列表      3、changedTouches:涉及当前事件手指一个列表      例子:移动端无缝轮播切换

1.3K50

jimojianghu

然而那能怎么办,用户第一,自然得快速解决这个问题,而且是触控板和触摸屏都得解决。 在以前,如果要禁止移动端设备触摸,手指缩小放大功能,都会想到使用viewport 来处理。...此外,对 document 处理了滚轮事件后,因为该事件会传播冒泡,所以需要注意页面上其他元素——如果有滚动条之类,需要在子元素阻止冒泡,不然后滚动会失效。...启用平移和缩小缩放手势,但禁用其他非标准手势,例如双击以进行缩放。 禁用双击可缩放功能可减少浏览器在用户点击屏幕时延迟生成点击事件需要。...笔记本触摸板双指滑动,将响应滚轮事件,因此可以监听该事件,禁止触摸板手指缩放界面。 但需要注意滚轮默认事件会导致子元素滚动失效,这时候就要在子元素阻止相同事件冒泡。...在Chrome,wheel / touch 等事件 passive 会默认设置为true,但Safari不支持。

3.7K00

从零开始学 Web 之 移动Web(二)JD移动端网页,移动触屏事件

添加过渡效果结束事件,解决手动滑动到第一张和最后一张时,出现空白问题。 设置小白点,在自动轮播和手动轮播两个地方添加。 2、在手动轮播时候,一定记得将自动轮播过渡效果清除。...还要关闭定时器,在手指离开时候再次设置是定时器。关于手动轮播相关触摸事件知识点在下面介绍。...二、移动触屏事件 1、事件类型 touchstart: 手指触摸屏幕时触发 touchmove: 手指在屏幕移动时触发 touchend: 手指离开屏幕时触发 细节: touch 事件触发,必须保证元素有大于...2、TouchEvent 对象 TouchEvent 事件对象是手指触摸屏幕时触发事件对象,在这个对象,我们主要关注三个对象数组。...touches:指屏幕所有的触摸手指列表 targetTouched:当前目标上所有的触摸手指列表 changedTouches:指当前屏幕上变换手指对象。

2.6K10

5个最佳WordPress广告插件

您还可以通过定位某些类别、标签、分类法、引荐来源网址等来将您广告列入白名单/黑名单,使其在某些内容展示。...如果您主要对用于手动广告放置广告管理插件感兴趣,则可以考虑这是一个不错选择。  它为您提供有用功能,广告轮播、加权、调度等,以便您最大限度地利用广告空间。...广告统计:快速简便方式来判断您广告效果。即时插入广告,只需在帖子插入、…、即可完成此操作。即时禁用广告,只需在帖子插入<!...只要您使用自托管WordPress,您就可以在您网站上放置您想要任何广告。如何在WordPress文章投放广告?所有广告管理插件都允许您使用简码或块手动放置广告。...您所做就是将您广告添加到插件,然后将该广告短代码或块包含在您要显示广告帖子。如何在WordPress帖子之间放置广告?

8.3K20

从零开始学 Web 之 移动Web(五)touch事件缺陷,移动端常用插件

.addEventListener("click", function(){}) 或者 元素.on("click", function(){}) ,来使用改装过后 click 事件,这个 click...它一直在大力优化性能和文件大小以便在新旧设备提供最顺畅体验。 iScroll不仅仅是 滚动。它可以处理任何需要与用户进行移动交互元素。...即使平台本身提供滚动已经很不错,iScroll可以在此基础提供更多不可思议功能。具体来说: 细粒度控制滚动位置,甚至在滚动过程。你总是可以获取和设置滚动器x,y坐标。...2、swipe swipe.js 是一个比较有名触摸滑动插件,它能够处理内容滑动,支持自定义选项,你可以让它自动滚动,控制滚动间隔,返回回调函数等。经常作为轮播图使用。...3、swiper swiper 与 swipe 类似,都可以提供轮播触摸滑动效果,只不过 swiper 能够提供特效更多,更加炫酷,相应体积也更大。

3.2K20

小程序模板语法样式与页面配置

小程序中常用事件 类型 绑定方式 事件描述 tap bindtap 或 bind:tap 手指触摸后马上离开,类似于 HTML click 事件 input bindinput 或 bind:input...Object 当前组件一些属性值集合 detail Object 额外信息 touches Array 触摸事件,当前停留在屏幕触摸点信息数组 changedTouches Array 触摸事件...bindtap 语法格式 在小程序,不存在 HTML onclick 鼠标点击事件,而是通过 tap 事件来响应用户触摸行为。...通过 bindtap,可以为组件绑定 tap 触摸事件,语法如下: 在页面的 .js 文件定义对应事件处理函数,事件参数通过形参 event(一般简写成 e) 来接收: 在事件处理函数为 data...如果某些小程序页面想要拥有特殊窗口表现,此时,“页面级别的 .json 配置文件”就可以实现这种需求。常用配置项与全局配置window配置项相同。

59210

python监听usb鼠标插入

在刚把电脑系统转为linux之后,一直觉得需要通过命令:sudo rmmod psmouse来完成禁用触摸操作实在是太不方便了,于是就想着用一个python脚本来完成该操作。...我整个思路是这样,首先开机启动一个python程序,不断运行,不停检查usb设备是否有usb鼠标的身影,如果有,那么执行上面的那个禁用触摸命令,如果没有,就启用触摸板。...到目前为止还没有完成这个小脚本,个人觉得系统应该是有一个usb设备插入事件通知,只是目前还不清楚怎么调用,另外还有一个问题是如何在python脚本以管理员身份执行禁用和启用触摸命令。...6-image图象设备,扫描仪,摄像头等,有时数码相 机也可归到这一类。7-打印机类。单向,双向打印机等。8-mass storage海量存储类。所有带有一定存储功能都可以归到这一类。...255-vendor specific.厂家自定义类,主要用于一些特殊设备。接口转接卡等。

3.3K20
领券