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

可在长按下时拖动的JQuery UI适用于mousedown,但不适用于touchstart

JQuery UI是一个基于JQuery的用户界面库,提供了丰富的交互组件和效果。其中包括了可拖动的功能,可以通过长按鼠标左键来拖动元素。

在JQuery UI中,可以通过使用mousedown事件来实现长按拖动的功能。当鼠标按下时,可以通过绑定mousedown事件来触发拖动操作,并在鼠标移动时更新元素的位置。

然而,JQuery UI的拖动功能在移动设备上的触摸操作中并不适用。因为移动设备上的触摸操作是通过touchstart、touchmove和touchend等事件来实现的,而不是mousedown事件。

要在移动设备上实现可在长按下时拖动的功能,可以使用触摸事件来替代mousedown事件。通过绑定touchstart事件来开始拖动操作,并在touchmove事件中更新元素的位置,最后在touchend事件中完成拖动操作。

总结起来,可在长按下时拖动的JQuery UI适用于桌面端的鼠标操作,但不适用于移动设备上的触摸操作。对于移动设备上的触摸操作,可以使用触摸事件来实现类似的拖动功能。

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

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

相关·内容

Cypress web自动化39-.trigger()常用鼠标操作事件

前言 在web页面上经常遇到鼠标事件有:鼠标悬停操作,鼠标右键,鼠标长按,拖拽等操作 trigger() trigger 方法用于在 DOM 元素上触发事件 语法使用示例 .trigger(eventName...') // 触发 mousedown 事件 不正确用法 cy.trigger('touchstart') // 错误,不能直接用在cy. cy.location().trigger...先触发 mousedown鼠标,wait等待事件,再 mouseleave 释放鼠标 cy.get('.target').trigger('mousedown') cy.wait(1000) cy.get...button) cy.get('.target').trigger('mousedown', { button: 2 }) 拖拽 drag and drop 要使用jQuery UI sortable...按钮右上方 cy.get('button').trigger('mousedown', 'topRight') 指定相对于左上角明确坐标 cy.get('button').trigger('mouseup

3.1K30

SAO-UI-PLAN-Controlldot

左右浮动切换上下篇算是唯一亮点了。上下按钮用拖动方式体感上还不如直接用侧栏菜单按钮功能来方便。尤其是考虑到PC端,手机端,窄屏设备,触屏电脑等设备动作监测判断。总是牵扯到一大堆交集。...Dorakika代码我也没吃透,似乎有个长按以后能够拖动悬浮菜单功能,搞不好我多删了一些代码,长按以后拖动结束动作一直没法按照期望来。 这个悬浮按钮不打算实装了,作为学习用吧。...魔改步骤 SAO UI PLAN 相关项目为本站原创项目,因此均为内测版,在样式适配上仅针对本站进行调整,因此在泛用性上存在缺漏。对于可能遇到 bug,欢迎在评论区进行讨论。...= false; //mousemove事件绑定在window上,mouseDown变量判断当前是否为悬浮菜单被按,再进行move判断 let isMoveDot = false; //悬浮菜单是否为可移动状态...这样子的话能避免屏宽比和设备影响。 还有就是手机端按钮存在遮挡正文问题,貌似 Dorakika 是有设计可以拖动位置,但是代码大概给我误删了。

87820
  • 前端-用 Vue 编写一个长按指令

    本文就是讲解如何在按(或者按住)一个按钮,既执行一个函数,又清除输入。 首先,我会讲解如何使用纯 JS 实现。而后也会创建一个 Vue 指令。 请系好安全带。好戏在后头呢。...原理 要实现长按,用户需要按并按住按钮几秒钟。 想通过代码模拟这一效果,我们需要在鼠标“点击”按按钮,启动一个计时器监听用户按时长,如果时间超过我们期望时长,就执行相应函数。 非常简单!...如何实现 当用户点击按钮,在点击事件之前会触发另外两个事件: mousedown 和 mouseup。 当用户按按钮触发 mousedown 事件,用户松开按钮时调用 mouseup 事件。...我们需要做是: mousedown 事件触发,启动计时器。 一旦 mouseup 事件在预期 2 秒前被触发,就清除计时器,不要执行相应函数。就当作一个普通点击事件。...设置触发器 剩下就是将事件监听器添加到想要长按效果按钮上。

    2.3K40

    Touch 移动设备上 手势识别 与 Js事件库

    类型function, 事件处理函数, 移除函数与绑定函数必须为同一引用 2、部分手势事件 图片 图片 3、部分事件处理函数 touchstart //手指刚接触屏幕触发 touchmove /...,搭配zepto.js或者jQuery使用起来解决了移动端click点击事件300ms延迟问题。...dragstart 拖动屏幕 拖动 drag 拖动手势 拖动结束 dragend 拖动屏幕 拖动 drag 拖动手势 长按 hold 长按屏幕 敲击 tap 单击屏幕 ~ doubletap 双击屏幕...操作手势数量 position 相关位置信息, 不同操作产生不同位置信息 distance swipe类两点之间位移 distanceX, x 手势事件x方向位移值, 向左移动为负数 distanceY..., y 手势事件y方向位移值, 向上移动为负数 angle rotate事件触发旋转角度 duration touchstart 与 touchend之间时间戳 factor swipe事件加速度因子

    4.1K40

    EasyTouch☀️ 三、提供工具脚本讲解

    注意: EasyTouch组件均支持UI和3D物体 摄像机Tag必须设为MainCamera,否则3D物体无法响应事件 要使3D物体响应EasyTouch,3D物体必须添加Collider,后续不再赘述...QuickDrag:拖动 Allow on the axis:允许在哪个平面上拖动 Allow pick over UI element:是否允许在UI元素底下拖拽 Stop drag on collision...multi-touches:是否允许多指 QuickLongTap:长按 2 fingers gesture:两个手指都按上后,才能响应长按操作 QuickPinch:缩放 Gesture over...me:手势必须在我身上,才会触发(依靠Collider检测,因此物体必须要有Collider;两个指头连线在物体身上,也算手势在物体身上) 需勾选Enable simple action,可设置双指实现功能...Only if on me:只有点击到“我”,才会触发事件 All the time,or other object:点击到其他物体,或者指定物体,也可触发 Other receiver:其他接收者

    6810

    分享8个非常实用Vue自定义指令

    作用价值在于当开发人员在某些场景需要对普通 DOM 元素进行操作。 Vue 自定义指令有全局注册和局部注册两种方式。...,用户需要按并按住按钮几秒钟,触发相应事件 思路: 创建一个计时器, 2 秒后执行函数 当用户按按钮触发 mousedown 事件,启动计时器;用户松开按钮时调用 mouseout 事件。...如果 mouseup 事件 2 秒内被触发,就清除计时器,当作一个普通点击事件 如果计时器没有在 2 秒内清除,则判定为一次长按,可以执行关联函数。...思路: 设置需要拖拽元素为相对定位,其父元素为绝对定位。 鼠标按(onmousedown)记录目标元素当前 left 和 top 值。...鼠标移动(onmousemove)时计算每次移动横向距离和纵向距离变化值,并改变元素 left 和 top 值 鼠标松开(onmouseup)完成一次拖拽 const draggable = {

    1.5K31

    10-移动端开发教程-移动端事件

    在前端移动Web开发中,有一部分事件只在移动端产生,如触摸相关事件。接下来给大家简单总结一移动端事件。 1....最基本touch事件包括4个事件: touchstart: 当在屏幕上按下手指触发 touchmove: 当在屏幕上移动手指触发 touchend: 当在屏幕上抬起手指触发 touchcancel...tap: 手指碰一屏幕会触发 longTap: 手指长按屏幕会触发 singleTap: 手指碰一屏幕会触发 doubleTap: 手指双击屏幕会触发 5.2 swipe类事件 滑动事件,有swipe...Zepto.js 是一个轻量级针对现代高级浏览器JavaScript库, 它适配了jQuery大部分api,也就是jQuery怎么用,Zepto.js就怎么用。...封装了再触摸设备上触发tap– 和 swipe– 相关事件,也适用于所有的touch(iOS, Android)和pointer事件(Windows Phone)。

    6.8K80

    WPF 给任意控件通过按下移动抬起封装点击事件

    同时可以设置一定时间范围,超过一定时间就是长按了,而不是点击了 根据这个特点咱开始来进行一个简单封装,在封装之前先告诉大家封装之后使用方法,下面代码 uiElement 是一个 UIElement.../// 点击事件 /// 因为拖动而结束点击触发 /// 因为拖动而结束点击触发事件 public static void DetachMouseDownMoveUpToClick...没有提供外面可以设置点击范围,也就是从按开始可以移动范围值,以及运行点击时间。...从上面代码可以看到写是 TimeSpan.MaxValue 也就是没有分开点击和长按设置 另外方法里面还添加一个可选委托是点击变拖动事件,这个事件用来了解当前本来是点击,但是点击时候移动距离判断为拖动

    87830

    基于jQuery UI CSS Framework开发Widget

    适用于浮动包裹父元素属性 . ui-helper-zfix:适用于修复iframe元素覆盖问题 .ui-state-default:元素默认样式 .ui-state-hover:元素为hover状态样式...提供了一套默认图标,这些图标适用于大多场景,一般使用方式是“ui-icon ui-icon-****”来指定icon .ui-corner-tl:左上角圆角,基于css3,ie不支持 .ui-corner-tr...下面就简单介绍jquery ui 开发指引。 Jquery官方文档中对此写很清晰。一般来说,jquery ui都是继承自jquery.ui.widget.js这个文件。...接下来会用一个简单jquery ui widget代码,来说明如何开发widget。 //此widget是将textbox进行修饰一。...e.removeClass("ui-state-hover"); }).mousedown(function(){ e.addClass("ui-state-active

    1.7K100

    vue移动端写拖拽

    相关知识点 touchstart 当在屏幕上按下手指触发 touchmove 当在屏幕上移动手指触发 touchend 当在屏幕上抬起手指触发 mousedown mousemove mouseup...对应是PC端事件 touchcancel 当一些更高级别的事件发生时候(如电话接入或者弹出信息)会取消当前touch操作,即触发 touchcancel。...一般会在touchcancel暂停游戏、存档等操作。 效果图 实现步骤 html 总结了一评论,好像发现大家都碰到了滑动问题。就在这里提醒一吧。...-- 悬浮HTML --> <div class="xuanfu" id="moveDiv" @mousedown="down()" @touchstart="down()"...this.position.y; this.xPum = this.dx+this.nx; this.yPum = this.dy+this.ny; //添加限制:只允许在屏幕内拖动

    72730

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

    “拖拽”实现 关键词就是“拖拽”,其实“拖拽”交互方式早在 Jquery 时代就有,关于拖拽在前端实现主要分为 2 种 是以 jquery-ui 为代表 draggable 和 Droppable...,其原理是通过鼠标事件 mousedown、mousemove、mouseup 或者 触摸事件 touchstart、touchmove、touchend,记录开始位置和结束位置、以达到拖拽传递数据效果...嵌套拖动 基本组件一般可以嵌套,比如我现在想要拖动出下图页面效果 实际上我需要生成 JSON 树,然后根据 JSON 树渲染出页面。...当每次拖动时候,可以生成一个 uuid,然后使用深度优先遍历树数据 从根节点到叶子节点由上至深度优先遍历树数据。...} return true } 丰富组件 可以使用开源组件,集成到低代码中,我们只需要定义右侧编辑区域和左侧字段数据,比如现在集成 @ant-design/charts 以柱状图为例,我们定义拖动字段数据

    5.9K20

    10-移动端开发教程-移动端事件

    在前端移动Web开发中,有一部分事件只在移动端产生,如触摸相关事件。接下来给大家简单总结一移动端事件。 1....最基本touch事件包括4个事件: touchstart: 当在屏幕上按下手指触发 touchmove: 当在屏幕上移动手指触发 touchend: 当在屏幕上抬起手指触发...tap: 手指碰一屏幕会触发 longTap: 手指长按屏幕会触发 singleTap: 手指碰一屏幕会触发 doubleTap: 手指双击屏幕会触发 5.2 swipe类事件 滑动事件,有swipe...5.3 zepto手势相关事件 Zepto.js 是一个轻量级针对现代高级浏览器JavaScript库, 它适配了jQuery大部分api,也就是jQuery怎么用,Zepto.js就怎么用。...封装了再触摸设备上触发tap– 和 swipe– 相关事件,也适用于所有的touch(iOS, Android)和pointer事件(Windows Phone)。

    6.4K70

    移动端前端常见触摸相关事件touch、tap、swipe等整理

    四种之分 touchstart:手指触摸到屏幕会触发 touchmove:当手指在屏幕上移动,会触发 touchend:当手指离开屏幕,会触发 touchcancel:可由系统进行触发,比如手指触摸屏幕时候...doubleTap四种之分 tap: 手指碰一屏幕会触发 longTap: 手指长按屏幕会触发 singleTap: 手指碰一屏幕会触发 doubleTap: 手指双击屏幕会触发 4. swipe...快速点两,如图为相关事件触发顺序,可以看到click事件因为延迟原因只触发了一次 ? 长按,如图为相关事件触发顺序 ? 向右滑动一,如图为相关事件触发顺序 ?...长按时候无意间触发了浏览器自身复制文本功能,此时触发了touchcancel事件 ?...第三方插件监听 1) 使用jquery   为了查看三个属性区别,简单地只监听一个事件 $('.one, .two, #test'

    2.1K20

    02-老马jQuery教程-jQuery事件处理

    当用于 text field 或 text area ,该事件会在元素失去焦点发生 mousedown([[data],fn]) $("p").mousedown(fn); 当鼠标指针移动到元素上方...,并按鼠标按键,会发生 mousedown 事件mousedown 与 click 事件不同,mousedown 事件仅需要按键被按,而不需要松开即可发生 mouseleave([[data],fn...该事件只适用于表单元素。 keydown([[data],fn]) $('p').keydown(fn); 当键盘或按钮被按,发生 keydown 事件。...当按钮被按,会发生该事件。它发生在当前获得焦点元素上。 不过,与 keydown 事件不同,每插入一个字符,就会发生 keypress 事件。...参数: type 触发事件类型 data 给事件处理程序事件对象额外�参数,数组类型 返回值:依然是jQuery包装对象 实例: //提交第一个表单,但不用submit() $("form

    2.7K80

    移动端app开发问题及理解

    contextmenu 弹出右键菜单 h5新加事件 ondrag 元素被拖动时运行脚本 ondragend 在拖动操作末端运行脚本 ondragenter 当元素已被拖动到有效拖放区域是运行脚本...ondragleave 元素离开有效拖放目标时运行脚本 ondragover 元素在有效拖放目标上正在被拖动时运行脚本 ondragstart 在拖动操作开端运行脚本 ondrop 当被拖元素正在被拖放是运行脚本...延迟 touch 触摸类事件 touchstart 手指触摸到屏幕触发 touchmove 手指在屏幕上移动触发 touchend 手指离开屏幕触发 touchcancel 可由系统进行触发...,比如手指触摸屏幕,突然alert了,或者系统中其他打断了touch行为可触发 tap触碰类事件 一般用于代替click事件 tap 手指碰一屏幕触发 longTap 手指长按屏幕触发 singleTap...js如何与app端交互 具体可看下这个 https://zhuanlan.zhihu.com/p/337890794 我理解 首先了解下 app移动端网页运行在手机应用内嵌浏览器引擎中,没有UI

    3.8K10

    基础 | 面向对象实战之封装拖拽对象

    本文例子会放置于codepen.io中,供大家在阅读直接查看。如果对于codepen不了解同学,可以花点时间稍微了解一。...1、mousedown 鼠标按触发 2、mousemove 鼠标按拖动触发 3、mouseup 鼠标松开触发 而在移动端,分别与之对应则是touchstart、touchmove、touchend...当鼠标按(mousedown触发),我们需要记住鼠标的初始位置与目标元素初始位置,我们目标就是实现当鼠标移动,目标元素也跟着移动,根据常理我们可以得出如下关系: 移动后鼠标位置 - 鼠标初始位置...,因此当鼠标拖动(mousemove),我们可以不停计算出鼠标移动差值,以此来求出目标元素的当前位置。...这种思维方式,在未来任何时候都是能够用到。 下一章分析jQuery对象实现,与如何将我们这里封装拖拽对象扩展为jQuery插件。 扫码下方二维码, 随时关注更多前端干货文章!

    53010
    领券