首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏前端 TS/JS 核心讲堂

    js拖拽-javascript拖拽缩放示例

    本文将系统讲解 原生 JavaScript 实现拖拽功能的核心原理、完整代码示例、常见问题及高级技巧。 一、两种主流实现方式方式 1:使用 HTML5 原生 Drag & Drop API(推荐用于跨容器拖拽)✅ 标准化,浏览器原生支持✅ 支持文件拖入、跨 iframe 拖拽❌ 事件模型复杂,样式控制受限 ❌ 移动端兼容性差方式 2:基于 mousedown mousemove mouseup 的自定义拖拽(推荐用于 UI 组件内部拖拽)✅ 完全可控,性能高✅ 可精细控制动画、边界、吸附等效果✅ 兼容性极佳 move; position: absolute; top: 100px; left: 100px; ">

    JavaScript “抓”在点击点 在 document 上监听 mousemove/mouseup 避免鼠标移出元素后失效三、高级拖拽:可拖拽、可冻结、可编辑、可排序如我早期另一篇文章-用JS/HTML/CSS 构建可拖拽

    14521编辑于 2026-04-01
  • 来自专栏前端壹栈

    JavaScript进阶之实现拖拽

    之前我们来实现原生拖拽 原生实现拖拽 Mouse事件实现拖拽 在h5之前,原生实现拖拽是根据Mouse事件来实现的,需要用到以下这三个事件mousedown,mouseup,mousemove mousedown JavaScript三大家族 ? ? 明白了上述?三个事件方法的作用以及JavaScript三大家族,我们来实现个简单版的拖拽 <! drag: 拖拽源 drop:拖拽源最终放置的目标 DataTransfer 对象:退拽对象用来传递的媒介,使用一般为Event.dataTransfer。 ,此事件作用在目标元素上 ondragover 事件:拖拽元素在目标元素上移动的时候触发的事件,此事件作用在目标元素上 ondrop 事件:被拖拽的元素在目标元素上同时鼠标放开触发的事件,此事件作用在目标元素上 参考:MDN HTML5 drag & drop 拖拽与拖放简介

    3.2K40发布于 2021-01-08
  • 来自专栏前端 TS/JS 核心讲堂

    原生JavaScript拖拽代码示例

    其中,通过拖拽直接交换单元格内容是一种直观、高效的操作方式,广泛应用于课程表编排、任务看板、配置管理等场景。 本文将详细介绍如何使用 纯原生 JavaScript(无任何框架依赖) 实现一个支持单元格拖拽交换的 HTML 表格,并提供完整可运行的源代码。 单元格均可拖动;拖影层(Helper Layer):一个绝对定位的

    ,作为被拖单元格的视觉副本,跟随鼠标移动;状态管理:记录当前拖拽源、原始内容、偏移量及目标单元格;视觉反馈:拖拽源高亮为淡紫色 ,禁止拖拽冻结区域;移动端适配:补充 touchstart/touchmove/touchend 事件。 五、结语本实现以极简代码达成直观的拖拽交换体验,体现了原生 Web 技术的强大能力。它不仅适用于教学演示,也可作为企业级应用的基础模块。

    11721编辑于 2026-04-01
  • 来自专栏lonelydawn的前端猿区

    秒懂 javascript 拖拽上传文件

    <script type="text/<em>javascript</em> text } }) </script> </body> </html> 说明 需对目标区域添加 drop 事件监听,在回调 中通过 参数 e.dataTransfer.files 获取被<em>拖拽</em>上传的文件数组

    1.8K70发布于 2018-03-29
  • 来自专栏xinxin的随笔记录

    javaScript案例】之鼠标拖拽效果

    这次的效果图如下: 拖拽.gif 我认为这个实验的难点是保持盒子和鼠标的相对位置不变,通过鼠标按下和移动来实现拖拽的效果 如何实现拖拽的效果呢?

    1.7K30编辑于 2022-03-29
  • 来自专栏梦魇小栈

    使用 JavaScript 实现简单的拖拽

    步骤 使用 JavaScript 实现拖拽的步骤: 让元素捕获事件(mousedown, mousemove & mouseup) 单击并不释放,触发 mousedown,标记开始拖拽,并获取元素和鼠标的位置 拖动鼠标,触发 mousemove,不断的获取鼠标的位置,并通过计算重新确定元素的位置 释放师表,触发 mouseup,结束拖拽,确定元素位置并更新 被拖拽的元素必须是相对父元素定位,或者是绝对定位 拖拽再快都不会超出 document 的范围。 mouseup 拖拽结束,取消拖拽的标记。使其触发 mousemove 事件,但不做任何处理。 function up(e) { dragging = false; } 在线演示 总结 上面使用的简单的 JavaScript 代码实现了元素的拖拽,但并没有对兼容性问题全面考虑,也没有对性能优化

    2K40发布于 2018-10-31
  • 来自专栏acoolgiser_zhuanlan

    JavaScript 鼠标拖拽div 改变其大小

    转自: http://www.cnblogs.com/yushang/archive/2013/03/19/2968782.html 想让div实现拖拽改变大小功能,类似于soso地图(即现在的腾讯地图 )的看街景时地图可以拖拽等功能 ? background-position: 0px 0px;">

    <script type="text/<em>javascript</em> " src="/Js/mobile/jquery.js"></script> <script type="text/<em>javascript</em>" src="http://api.map.baidu.com v=1.4"></script> <script type="text/<em>javascript</em>"> var obj = null; var divObj = null

  • 2.5K30发布于 2019-01-17
  • 来自专栏岳泽以博客

    JavaScript案例:弹出登录框拖拽模态框

    案例分析 点击弹出层,模态框和遮挡层就会显示出来display:block; 点击关闭按钮,模态框和遮挡层就会隐藏起来display:none; 在页面中拖拽的原理:鼠标按下并且移动,之后松开鼠标 鼠标松开,就停止拖拽,就是可以让鼠标移动事件解除。 代码 <! 0.88); } </style> </head> <body>

    5K10编辑于 2022-10-26
  • 来自专栏lonelydawn的前端猿区

    javascript对dom节点拖拽的简单实现(drag特性)

    dotted #999; } #img{ margin-left: 10px; margin-top: 0px; } </style> <script type="text/<em>javascript</em>

    1.7K80发布于 2018-02-09
  • 来自专栏彭湖湾的编程世界

    javascript】谈谈HTML5: Web-Worker、canvas、indexedDB、拖拽事件

    charset="utf-8" /> <button id="work-button">传递数据</button> </head> <body> <script type="text/<em>javascript</em> 通过调用ObjectStore.createIndex创建该存储空间内的索引( 以便于提高查询时候的速度) 具体的可看下面的例子: <script type="text/javascript"> if( 如何使得被拖拽元素可拖拽?(因为元素默认的行为是不可拖拽的),以及如何使得被放置的容器元素可放置? 这里首先需要知道的是,当我们拖动一个图片到另一个地方的时候,我们是不能“直接把图片拖拽进去”的,也就是说,我们还是要通过以下的思路实现拖放: 在被放置的元素中取得被拖拽元素的相关数据(如id),然后通过 appendChild之类的API实现添加被拖拽的元素,从而模拟整个拖拽的过程 也就是说, 拖拽其实可分为三个过程: 拖动—传递被拖动元素的数据(如id)—在容器元素中添加该元素 关键在于如何在被拖动元素和被放置元素中传递数据

    3.5K30发布于 2018-07-31
  • 来自专栏彭湖湾的编程世界

    javascript】谈谈HTML5—Web Worker+canvas+indexedDB+拖拽事件

    charset="utf-8" /> <button id="work-button">传递数据</button> </head> <body> <script type="text/<em>javascript</em> 通过调用ObjectStore.createIndex创建该存储空间内的索引( 以便于提高查询时候的速度) 具体的可看下面的例子: <script type="text/javascript"> if( 如何使得被拖拽元素可拖拽?(因为元素默认的行为是不可拖拽的),以及如何使得被放置的容器元素可放置? 这里首先需要知道的是,当我们拖动一个图片到另一个地方的时候,我们是不能“直接把图片拖拽进去”的,也就是说,我们还是要通过以下的思路实现拖放: 在被放置的元素中取得被拖拽元素的相关数据(如id),然后通过 appendChild之类的API实现添加被拖拽的元素,从而模拟整个拖拽的过程 也就是说, 拖拽其实可分为三个过程: 拖动—传递被拖动元素的数据(如id)—在容器元素中添加该元素 关键在于如何在被拖动元素和被放置元素中传递数据

    4.2K100发布于 2018-01-03
  • 拖拽RecyclerView

    挥别第三方库:原生ItemTouchHelper掌控RecyclerView拖拽与侧滑原始译文参考:开发技术前线(原作者:PaulBurke/译者:objectlife)如果你还在使用残破累赘的第三方库 (比如早期的SwipeToDismiss)或者深陷于手写GestureDetector和onInterceptTouchEvent的泥沼来处理列表的侧滑删除和长按拖拽,那你需要立刻停下。 不仅仅是手势的剥离,它直接掌控了拖拽中悬浮视图的z-轴阴影(elevation抬升)、回位动画轨迹(dropsettling)甚至支持自定义约束方向。

    5610编辑于 2026-04-25
  • 来自专栏coding个人笔记

    js拖拽

    开发了那么久,对于js实现拖拽多少都写过,用于实际项目却没有。 先看一下之前写的: 如果鼠标慢慢移动,拖拽是没有任何问题的,如果速度快了,那么鼠标和元素就会分离。

    6.9K30发布于 2020-04-24
  • 来自专栏用户7873631的专栏

    js拖拽

    /*js拖拽逻辑: 第一:为什么要定位? 因为 ? 往左往上left top要定位的哈 第二:为什么点击down包括着移动move与抬起up. 因为代表这三个是不独立的. 鼠标是400.那样的话,400-(150-100)=350.就是div所在的位置.也就是move后的位置. js拖拽: <! red; position: absolute; } </style> </head> <body>

    <script type="text/<em>javascript</em>

    6.1K41发布于 2020-10-30
  • 来自专栏用户7873631的专栏

    js拖拽

    position: absolute;} </style> </head> <body> asdjalksda

    <script type="text/<em>javascript</em>

    6.6K10发布于 2020-10-28
  • 来自专栏向治洪

    拖拽gridview

    的控件,GridView主要是来显示网格的控件,在Android的开发中使用很普通,相对于TextView,Button这些控件来说要来的复杂些,今天给大家带来长按GridView的item,然后将其拖拽其他 GridView的拖动的Demo,但是大部分都是相同的,而且存在一些Bug,而且大部分都是点击GridView的item然后进行拖动,或者item之间不进行实时交换,今天给大家更加详细的介绍GridView拖拽 position      */ private int mDragPosition;   /**      * 刚开始拖拽的item对应的View      */ private  item显示出来,这样子就实现了GirdView的拖拽效果啦,接下来我们来使用下我们自定义可拖拽的GridView吧,先看主界面布局,只有我们自定义的一个DragGridView <RelativeLayout 好了,今天的讲解就到此结束,效果还不错吧,看完这篇文章你是不是觉得GridView拖拽也不是那么难实现呢?

    5.5K50发布于 2018-01-29
  • 来自专栏sofu456

    winform 文件拖拽

    winform 重写函数,而不是控件委托事件 protected override void OnDragDrop(DragEventArgs drgevent) protected override

    2.3K20发布于 2020-10-28
  • 来自专栏编程内马尔

    原生JS拖拽

    IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>原生JS拖拽 class="box" id="drag">

    </body> </html> <script> window.onload = function () { // 获取拖拽的节点 let drag = document.getElementById('drag') // console.log(drag); // 按下别拖拽对象的时候

    16K40编辑于 2022-11-15
  • 来自专栏万丈高楼平地起

    table表格拖拽

    el-table 的拖拽使用 Sortable.js 官方文档 :https://github.com/SortableJS/Sortable 1. (tbody, { animation: 150, //动画 handle: ".move", //指定拖拽目标,点击此目标才可拖拽元素(此例中设置操作按钮拖拽) filter : ".disabled", //指定不可拖动的类名(el-table中可通过row-class-name设置行的class) dragClass: "dragClass", //设置拖拽样式类名 /** * 在做列拖拽功能时发现问题:表头位置错乱,但是内容列正常 * 于是我给el-table绑定key,每次拖拽结束改变key触发表格重新渲染 * 但引出新的问题:表格重渲拖拽事件丢失,导致之后无法拖拽 * 于是我在表格重渲之后重新调用拖拽方法创建拖拽实例,功能正常 * **/ this.key

    3.4K20编辑于 2022-03-09
  • 来自专栏全栈程序员必看

    vuedraggable自由拖拽_vue可视化拖拽编辑

    最近做的项目要用到拖拽排序,我现在的项目是vue项目,所以我就屁颠屁颠的去百度有木有这样功能的插件,我就知道一定会有,那就是vuedraggable,这是一款很棒的拖拽插件,下面我来说一下怎么引入 首先在 evt.oldIndex) console.log('拖动后的索引 :' + evt.newIndex) console.log(this.colors); } }, mounted () { //为了防止火狐浏览器拖拽的时候以新标签打开

    2.6K40编辑于 2022-09-20
  • 第 2 页第 3 页第 4 页第 5 页第 6 页第 7 页第 8 页第 9 页第 10 页第 11 页
    点击加载更多
    领券