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

jquery-ui可拖动干扰触摸滚动

jquery-ui是一个基于jQuery的用户界面库,它提供了一系列的可重用的UI组件和交互效果,方便开发者快速构建富交互的Web应用程序。

可拖动干扰触摸滚动是指在使用jquery-ui的可拖动组件时,可能会干扰到触摸设备上的滚动操作。当在触摸设备上进行拖动操作时,如果拖动的元素与页面的滚动区域重叠,可能会导致页面的滚动而不是元素的拖动。

为了解决这个问题,可以通过以下方式进行处理:

  1. 禁用页面的滚动:可以通过监听拖动事件,在拖动开始时禁用页面的滚动,拖动结束时再启用页面的滚动。可以使用jQuery的touchmove事件来监听触摸滚动事件,并通过preventDefault()方法来阻止默认的滚动行为。
  2. 使用jquery-ui的draggable组件的cancel选项:draggable组件提供了一个cancel选项,可以指定哪些元素不会触发拖动操作。可以将滚动区域的元素添加到cancel选项中,这样在拖动时就不会触发滚动操作。
  3. 自定义滚动处理:可以通过自定义滚动的方式来解决干扰问题。可以使用jQuery的scrollTop()scrollLeft()方法来控制滚动区域的滚动位置,从而实现自定义的滚动效果。

总结起来,为了解决jquery-ui可拖动干扰触摸滚动的问题,可以通过禁用页面的滚动、使用cancel选项或自定义滚动处理来解决。具体的实现方式可以根据具体的需求和场景进行选择。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

探究 css touch-action 属性

当手势开始时,浏览器与触摸的元素及其所有祖先的触摸动作值相交直到一个实现手势(换句话说,第一个包含滚动元素)的触摸动作值。...这意味着在实践中,触摸动作通常仅适用于具有某些自定义行为的单个元素,而无需在该元素的任何后代上明确指定触摸动作。 手势开始之后,触摸动作值的更改将不会对当前手势的行为产生任何影响。...禁用双击缩放功能减少浏览器在用户点击屏幕时延迟生成点击事件的需要。 这是“pan-x pan-y pinch-zoom”(为了兼容性本身仍然有效)的别名。...请注意,滚动“向上”(pan-up)意味着用户正在将其手指向下拖动到屏幕表面上,同样 pan-left 表示用户将其手指向右拖动。...,但不想干扰网页的垂直滚动或缩放。

1.7K10

触屏事件

触屏事件响应用户手指(或触控笔)对屏幕或者触控板操作。 常见的触屏事件如下: ? 2....触摸事件对象重点我们看三个常见对象列表: 因为平时我们都是给元素注册触摸事件,所以重点记住 targetTocuhes 3.案例:移动端拖动元素 touchstart、touchmove、touchend...可以实现拖动元素 但是拖动元素需要当前手指的坐标值 我们可以使用 targetTouches[0] 里面的pageX 和 pageY 移动端拖动的原理: 手指移动中,计算出手指移动的距离...然后用盒子原来的位置 + 手指移动的距离 手指移动的距离: 手指滑动中的位置 减去 手指刚开始触摸的位置 拖动元素三步曲: (1) 触摸元素 touchstart: 获取手指初始坐标,同时获得盒子原来的位置...(2) 移动手指 touchmove: 计算手指的滑动距离,并且移动盒子 (3) 离开手指 touchend: 注意: 手指移动也会触发滚动屏幕所以这里要阻止默认的屏幕滚动 e.preventDefault

75641

触屏事件

触屏事件响应用户手指(或触控笔)对屏幕或者触控板操作。 常见的触屏事件如下: 1.3.2....触摸事件对象重点我们看三个常见对象列表: 因为平时我们都是给元素注册触摸事件,所以重点记住 targetTocuhes 1.3.案例:移动端拖动元素 touchstart、touchmove、touchend...可以实现拖动元素 但是拖动元素需要当前手指的坐标值 我们可以使用  targetTouches[0] 里面的pageX 和 pageY 移动端拖动的原理:    手指移动中,计算出手指移动的距离...然后用盒子原来的位置 + 手指移动的距离 手指移动的距离:  手指滑动中的位置 减去  手指刚开始触摸的位置 拖动元素三步曲: (1) 触摸元素 touchstart: 获取手指初始坐标,同时获得盒子原来的位置...(2) 移动手指 touchmove: 计算手指的滑动距离,并且移动盒子 (3) 离开手指 touchend: 注意: 手指移动也会触发滚动屏幕所以这里要阻止默认的屏幕滚动 e.preventDefault

70420

移动端触屏事件

触屏事件响应用户手指(或触控笔)对屏幕或者触控板操作。 常见的触屏事件如下: ? 2....,所以重点记住 targetTocuhes 3.案例:移动端拖动元素 touchstart、touchmove、touchend可以实现拖动元素 但是拖动元素需要当前手指的坐标值 我们可以使用...然后用盒子原来的位置 + 手指移动的距离 手指移动的距离:  手指滑动中的位置 减去  手指刚开始触摸的位置 拖动元素三步曲: (1) 触摸元素 touchstart: 获取手指初始坐标,同时获得盒子原来的位置...(2) 移动手指 touchmove: 计算手指的滑动距离,并且移动盒子 (3) 离开手指 touchend: 注意: 手指移动也会触发滚动屏幕所以这里要阻止默认的屏幕滚动 e.preventDefault...+ moveX + 'px'; div.style.top = y + moveY + 'px'; e.preventDefault(); //阻止屏幕滚动的默认行为

2.9K30

JavaScript——触屏事件

触屏事件响应用户手指(或触控笔)对屏幕或者触控板操作。...正在触摸当前DOM元素上的手指的一个列表 changedTouches 手指状态发生了改变的列表,从无到有,从有到无变化 移动端拖动元素 touchstart、touchmove、touchend可以实现拖动元素...但是拖动元素需要当前手指的坐标值我们可以使用targetTouchies[0]里面的pageX和pageY 移动端拖动的原理:手指移动中,计算出手指移动的距离,然后用盒子原来的位置+手指移动的距离 手指移动的距离...:手指滑动中的位置减去手指刚开始触摸的位置 拖动元素三步曲: 触摸元素touchstart:获取手指初始坐标,同时获得盒子原来的位置 移动手指touchmove:计算手指的滑动距离,并且移动盒子 离开手指...touchend: 注意:手指移动也会触发滚动屏幕所以这里要阻止默认的屏幕滚动e.preventDefault(); <!

2K10

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

touch对象代表一个触摸点,触摸点可能是一根手指,也可能是一根触摸笔.触屏事件相应用户手指(或触控笔),对屏幕或者触控板操作 常见的触屏事件如下: 试着写一下,切换成模拟手机调试 再来试试触摸滑动事件...targetTouches 我们用targetTouches包含着一个数组,里面包含的是每根手指的各种属性和信息,targetTouches[0]可以看到第一个手指的一些属性: 网页拖动元素我们已经学会了...,手机也能拖动元素,我们现在要学习一下: 但是我们还要注意,触摸滑动是有默认的屏幕滚动的,就是说本来我只想拖动盒子,但是 整个页面都滚动起来了....因为是移动端,所以可以使用CSS3的一些方法: 这样移动的话ul就不用加定位了 现在试做一下: 后面接着做无缝滚动 因为是ul在做过渡效果,所以我们给ul添加一个监听事件: 我们让他过渡完成后就打印一个...11 往左划也一样,但是现在还没做拖动效果 下面要做小圆点跟随图片变化的效果,也引出了新的知识点: classList属性 classList属性是HTML5新增的一个属性,返回元素的类名

2.5K20

前端成神之路-WebAPIs07

触屏事件响应用户手指(或触控笔)对屏幕或者触控板操作。 常见的触屏事件如下: ?...因为平时我们都是给元素注册触摸事件,所以重点记住 targetTocuhes 1.1.3 移动端拖动元素 touchstart、touchmove、touchend 可以实现拖动元素 但是拖动元素需要当前手指的坐标值...然后用盒子原来的位置 + 手指移动的距离 手指移动的距离: 手指滑动中的位置 减去 手指刚开始触摸的位置 拖动元素三步曲: (1) 触摸元素 touchstart: 获取手指初始坐标,同时获得盒子原来的位置...手指滑动轮播图 本质就是ul跟随手指移动,简单说就是移动端拖动元素 触摸元素touchstart: 获取手指初始坐标 移动手指touchmove: 计算手指的滑动距离,并且移动盒子...案例:返回顶部 当页面滚动某个地方,就显示,否则隐藏 点击可以返回顶部 1.3.2.案例分析 滚动某个地方显示 事件:scroll页面滚动事件 如果被卷去的头部(window.pageYOffset )

3.5K10

「JavaScript 」动画基础 - 03

触屏事件响应用户手指(或触控笔)对屏幕或者触控板操作。...触摸事件对象重点我们看三个常见对象列表: 因为平时我们都是给元素注册触摸事件,所以重点记住 targetTocuhes 1.1.3 移动端拖动元素 touchstart、touchmove、touchend...可以实现拖动元素 但是拖动元素需要当前手指的坐标值 我们可以使用 targetTouches[0] 里面的pageX 和 pageY 移动端拖动的原理: 手指移动中,计算出手指移动的距离。...然后用盒子原来的位置 + 手指移动的距离 手指移动的距离: 手指滑动中的位置 减去 手指刚开始触摸的位置 拖动元素三步曲: 触摸元素 touchstart: 获取手指初始坐标,同时获得盒子原来的位置...案例:返回顶部 当页面滚动某个地方,就显示,否则隐藏 点击可以返回顶部 1.3.2.案例分析 滚动某个地方显示 事件:scroll页面滚动事件 如果被卷去的头部(window.pageYOffset )

1.1K20

使用 React-DnD 打造简易低代码平台

“拖拽”实现 关键词就是“拖拽”,其实“拖拽”的交互方式早在 Jquery 时代就有,关于拖拽在前端实现主要分为 2 种 是以 jquery-ui 为代表的 draggable 和 Droppable...,其原理是通过鼠标事件 mousedown、mousemove、mouseup 或者 触摸事件 touchstart、touchmove、touchend,记录开始位置和结束位置、以达到拖拽传递数据的效果... ) } 如果是手机端就要使用 react-dnd-touch-backend,因为 react-dnd-html5-backend不支持触摸...定义 JSON 接下来我们要: 定义拖动的组件类型 每个组件类型对应的渲染组件 每个组件的属性设置 先来定义几个拖动的字段吧,比如最基本的数据类型,div、h1、 p 标签都是一个组件,那就我先定义出以下字段类型...嵌套拖动 基本组件一般可以嵌套的,比如我现在想要拖动出下图的页面效果 实际上我需要生成 JSON 树,然后根据 JSON 树渲染出页面。

5.6K20

jquery nicescroll 配置参数

div,默认值是9999 scrollspeed - 滚动速度,默认值为60 mousescrollstep - 高速滚动鼠标滚轮,默认值是40(像素) touchbehavior - 使光标拖动滚动像在台式电脑触摸设备...= TRUE)变焦激活时,双击对话框(默认:true) gesturezoom - (仅当boxzoom =真实,使用触摸设备)上缩放框激活时,间距输出/输入(默认:true) grabcursorenabled...iframeautoresize,在加载事件AUTORESIZE的iframe(默认:true) cursorminheight,设置在像素的最小光标高度(默认值:20) preservenativescrolling,您可以滚动本机滚动区域用鼠标...(默认:true) sensitiverail,点击轨道上进行滚动(默认:true) enablemouselockapi,可以用鼠标说明锁的API(对象拖动同样的问题)(默认:true) cursorfixedheight...(默认值:6) nativeparentscrolling,检测内容底部,并让家长来滚动,作为原生滚动做(默认:true) enablescrollonselection,启用自动滚动的内容时,选择文本

4.1K80

jimojianghu

然而那能怎么办,用户第一,自然得快速解决这个问题,而且是触控板和触摸屏都得解决。 在以前,如果要禁止移动端设备的触摸屏上,手指缩小放大的功能,都会想到使用viewport 来处理。...用于设置触摸屏用户如何操纵元素的区域,允许你在触控时控制滚动操作。 例如,浏览器内置的缩放功能。 这样做的好处还有,它可以允许你自己实现这些手势。...禁用双击缩放功能减少浏览器在用户点击屏幕时延迟生成点击事件的需要。 触摸动作也经常用于完全解决由支持双击缩放手势引起的点击事件的延迟。 pinch-zoom 启用多手指平移和缩放页面。...请注意,滚动向上(pan-up)意味着用户正在将其手指向下拖动到屏幕表面上,同样 pan-left 表示用户将其手指向右拖动。...笔记本触摸板双指滑动,将响应滚轮事件,因此可以监听该事件,禁止触摸板手指缩放界面。 但需要注意滚轮默认事件,如会导致子元素滚动失效,这时候就要在子元素上阻止相同事件冒泡。

3.7K00

移动端轮播图笔记

touch对象代表一个触摸点,触摸点可能是一根手指,也可能是一根笔。...手指从一个DOM元素上移开时触发 1.2触摸事件对象(TochEvent) TouchEvent是一类描述手指在触摸平面(触摸屏、触摸板等)的状态变化的事件。...,从有到无变化 1.3移动端拖动元素 1.touchstart、touchmove、touchend可以实现拖动元素 2.但是拖动元素需要当前手指的坐标值,我们可以使用targetTouches[0]里面的...pageX和pageY 3.移动端拖动的原理:手指移动中,计算出手指移动的距离。...然后用盒子原来的位置+手指移动的距离 4.手指移动的距离:手指滑动中的位置减去手指刚开始触摸的位置 拖动元素三部曲: (1)触摸元素touchstart:获取手指初始坐标,同时获得盒子原来的位置

2.4K21

Flutter完整开发实战详解(十八、 神奇的ScrollPhysics与Simulation)

二、 ScrollPhysics 首先介绍 ScrollPhysics ,在 Flutter 官方的介绍中,ScrollPhysics 的作用是 确定滚动控件的物理特性, 常见的有以下四大金刚: BouncingScrollPhysics...Tolerance get tolerance 上方代码标注了 ScrollPhysics 各个方法的大致作用,而在前面 《十三、全面深入触摸和滑动原理》 中,我们深入解析过触摸和滑动的原理,大致流程从触摸开始往下传递...这三个方法的触发时机在于 _handleDragUpdate 、 _handleDragCancel 和 _handleDragEnd ,也就是拖动过程和拖动结束的时机: applyPhysicsToUserOffset...这也是为什么普通慢速拖动,不会触发自动滚动的原因。...总结起来就是 ScrollPhysics 中控制了用户触摸转化和边界条件,并且在用户停止触摸时,利用 Simulation 实现了自动滚动与溢出回弹的动画效果。 自此,第十八篇终于结束了!

13.5K61

前端成神之路-WebAPIs06

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

1.3K40

移动端app开发问题及理解

onpropertychange 与oninput一样,ie专属 onkeyup 键盘按键抬起 onkeydown 键盘按键按下 contextmenu 弹出右键菜单 h5新加事件 ondrag 元素被拖动时运行的脚本...ondragend 在拖动操作末端运行的脚本 ondragenter 当元素已被拖动到有效拖放区域是运行的脚本 ondragleave 元素离开有效拖放目标时运行的脚本 ondragover...元素在有效拖放目标上正在被拖动时运行的脚本 ondragstart 在拖动操作开端运行的脚本 ondrop 当被拖元素正在被拖放是运行的脚本 onmousewheel 当鼠标滚轮整被滚动时 onscroll...元素滚动条被滚动时 移动端事件有 click 单击事件 类似于pc端click,移动端中,连续click触发有200ms-300ms的延迟 touch 触摸类事件 touchstart 手指触摸到屏幕触发...touchmove 手指在屏幕上移动触发 touchend 手指离开屏幕触发 touchcancel 可由系统进行的触发,比如手指触摸屏幕时,突然alert了,或者系统中其他打断了touch行为触发

3.7K10

Android学习第七弹之手势操作

在昨天我们讲了Android的OnTouch触摸事件,有时候触摸和手势是相互联系的,密不可分的关系,所以上节我们讲了触摸事件,今天我们自然而然的就需要讲手势操作了。...android.view.GestureDetector.SimpleOnGestureListener 手势识别的接口类,使用他可以按需重载自己想要的方法,该类实现了 OnGestureListener接口,因此,通过该类实现对手势的检测操作...使用他需要实现他所有的方法,该接口中定义了检测手势按下、按下未松开、轻击、滚动、 长按、拖动等方法。...参数: el:滚动的起始坐标 e2:滚动的结束坐标 distanceX:滚动的横向巨离 distanceY:滚动的纵向距离 按住 OnGestureListener.onShowPress(MotionEvent...e) 手指按在触摸屏上,它的时间范围在按下起效,在长按之前。

87360

手势魅力-设置一个触摸菜单

(touchstart,touchmove,touchend),触摸属性,以及实现侧边栏动画,在处理移动端点击,拖动,滑动时,是不得要考虑用户的触摸手势,判断手指在页面上到底是点击还是滑动的,利用原生js...那种让你用一只手盯着屏幕,另一只手放在你的额头上,另一只手放在鼠标上滚动的时间 有 - 我敢说呢? - 如丝般流畅的手势触摸手势和动画可能是一个挑战,并随着时间的推移变得越来越突出。...触摸属性列出当前在屏幕上的所有手指: PageX:返回手指放置在DOM中的x坐标。从左边开始计算,如果适用,则考虑水平滚动 PageY:返回手指放置在DOM中的y坐标。...所以,当你玩手机触摸手势,想想: 限制:你想要什么元素停止?您希望它在每次拖动时移动多远? 这个手势的方向:你想只能水平移动,或者还是垂直移动?也许是两个? 拖动完成后你想要发生什么?...这绝对不是你想要用你的手机触摸手势发生的事情,所以考虑一下:当你打开/关闭菜单时,你是否有兴趣阅读滚动隐藏的内容?如果你的拖拽方向是水平的,你就不能滚动 ? 我们需要一些边界在这里!

1.8K40

WPF 开启 ScrollViewer 的触摸滚动

在 ScrollViewer 如果需要收到触摸消息,通过 Manipulation 触摸滚动,不能只是通过设置 IsManipulationEnabled 方法,还需要设置 PanningMode 才可以...那么如何知道滚动条的触摸事件是否触发,可以写一个类继承滚动条 public class StisvearpaHudalserevow : ScrollViewer {...,简单一个界面,可以看到默认的滚动条是不能滚动的 同时触摸的时候没有输出 尝试添加 IsManipulationEnabled 方法 可以看到有输出但是就是不能滚动 在我博客 WPF 拖动滚动 告诉大家通过 PanningMode 的方法可以让滚动滚动 只要在初始的过程设置了 PanningMode 因为在代码里面通过...SetCurrentValueInternal(IsManipulationEnabledProperty, BooleanBoxes.TrueBox); } } 但是如果在触摸的过程

79310

(长文预警) 你还在烦工作中碰到的拖拽问题?一个框架jiejue

(包括IE9) 可以从一个列表拖动到另一个列表或在同一列表内 支持拖动手柄和可选文本(比voidberg的html5sortable更好) 智能自动滚动 高级交换检测 流畅的动画 多拖动支持 支持CSS...handle 选项 为了使列表项拖动,Sortable禁用用户的文本选择。这并不总是可取的。...3到5可能是不错的值 dragoverBubble 选项 如果设置为true,则拖动事件将冒泡到父排序对象。适用于后备事件和本机拖动事件。...),以便将拖动元素插入到该排序对象中。...spilled onSpill: function(/**Event*/evt) { evt.item // The spilled item } }); 自动滚屏 此插件可让页面在移动设备和IE9上滚动元素的边缘附近拖动

7K10
领券