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

Jquery sortable + draggable无法获取正确的事件目标id

Jquery sortable + draggable是一种基于Jquery库的插件,用于实现可拖拽和排序的功能。它可以让用户通过拖拽元素来改变它们的位置,并且可以对这些元素进行排序。

然而,有时候在使用Jquery sortable + draggable时,可能会遇到无法获取正确的事件目标id的问题。这个问题通常是由于事件冒泡和事件委托机制导致的。

事件冒泡是指当一个元素上的事件被触发时,它会向上级元素传播,直到传播到文档根节点。而事件委托是指将事件绑定到父元素上,通过事件冒泡来触发子元素上的事件处理函数。

在Jquery sortable + draggable中,当拖拽元素时,事件会触发在父元素上,而不是拖拽的元素本身。因此,如果直接使用事件目标的id来获取元素信息,可能会获取到父元素的id,而不是拖拽元素的id。

为了解决这个问题,可以使用事件委托机制来获取正确的事件目标id。具体做法是将事件绑定到父元素上,并通过事件对象的属性来获取拖拽元素的id。例如,可以使用event.target.id来获取事件目标的id。

以下是一个示例代码:

代码语言:txt
复制
$("#parentElement").on("dragstart", ".draggableElement", function(event) {
  var targetId = event.target.id;
  // 处理拖拽元素的id
});

在上述代码中,我们将dragstart事件绑定到父元素#parentElement上,并通过事件对象event来获取拖拽元素的id。这样就可以正确地获取到事件目标的id。

对于Jquery sortable + draggable的应用场景,它常用于需要对元素进行排序或拖拽的界面交互,例如制作可拖拽的任务列表、拖拽排序的图片库等。

推荐的腾讯云相关产品和产品介绍链接地址如下:

  1. 云服务器(CVM):提供弹性计算能力,满足各类业务需求。详情请参考:云服务器产品介绍
  2. 云数据库 MySQL 版(CDB):提供稳定可靠的云数据库服务,支持高可用、备份恢复等功能。详情请参考:云数据库 MySQL 版产品介绍
  3. 云存储(COS):提供安全可靠的对象存储服务,适用于图片、音视频、文档等文件的存储和管理。详情请参考:云存储产品介绍

请注意,以上推荐的腾讯云产品仅供参考,具体选择应根据实际需求进行评估和决策。

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

相关·内容

【JS】1724- 重学 JavaScript API - Drag and Drop API

如何使用 使用拖放 API 主要包括以下 3 个步骤: 「定义可拖拽draggable)元素」:将需要拖动元素标记为可拖拽,并指定相应事件处理逻辑。...「定义可放置(droppable)元素」:将用来放置被拖动元素目标区元素标记为可放置,并指定相应事件处理逻辑。...当拖动图片时,我们使用 dragstart 事件将图片 ID 存储在 dataTransfer 对象中。...在放置目标容器上,我们使用 dragover 事件阻止默认行为并添加一些过渡样式,使用 dragleave 事件移除过渡样式,使用 drop 事件在放置目标容器中追加拖动图片元素。...4.3 工具推荐 以下是 5 个推荐工具,可辅助您在使用拖放 API 进行开发时提高效率: Sortable[7]: 27k⭐,可拖放排序库,具有丰富自定义选项和事件

22520

前端里拖拖拽拽了解一下?

draggable 属性,此时长按就可以自由拖拽了: 1.2 Darg & Drop 事件 HTML drag & drop 使用了“DOM Event”和从“Mouse Event”继承而来...DataTransfer 实例如下: (1) 属性 获取当前选定拖放操作类型或者设置为一个新类型。...但 getData() 在测试中发现只能在 ondrop 事件获取到值: image 1.4 一个案例掌握拖放 API <div class="drag" draggable="true...,因此各大浏览器厂商对于标准支持有差异,其兼容性参考如下: 相较于传统通过鼠标事件:mousedown、mousemove、mouseup 组合实现拖拽要简单很多,少了放入目标边界判断,也少了对位置实时获取操作...id }; (2) ondragover 正与拖拽中“源对象”产生相互影响目标对象,此时“源对象”处于“目标对象”正上方,目标对象 100ms/次频率调用“目标对象” ondragover

4.7K30

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

Sortablejs 简介 Sortable —是一个JavaScript库,用于在现代浏览器和触摸设备上对拖放列表进行重新排序。无需jQuery。...不幸是,由于浏览器限制,使用本地拖放功能无法在IE或Edge上进行延迟 Sortable.create(list, { delay: 400 }); 似乎不让我拖拽 ?...默认为false swapThreshold 选项 交换区域将占据目标百分比,介于0和之间1 invertSwap 选项 设置为true,将交换区域设置在目标的侧面,以实现“在项目之间”排序效果 ?...适用于后备事件和本机拖动事件。默认情况下为false,但是Sortable仅在将元素插入父Sortable或可以插入父Sortable时才停止冒泡事件,但不在特定时间(由于动画等) 。...'; Sortable.mount(OnSpill); RevertOnSpill Plugin 此插件启用后,如果溢出,将导致拖动项目恢复到其原始位置(即,将其拖放到有效Sortable放置目标之外

7.1K10

从零开始学 Web 之 HTML5(四)拖拽接口,Web存储,自定义播放器

2、浏览器默认会阻止目标元素 ondrop 事件:我们必须在目标元素 ondragover 中阻止浏览器默认行为(使用事件参数对象 preventDefault()方法),才能将拖拽元素放到目标元素中... 试着把我拖过去 <p id="pe1" draggable...,其他事件无法取到数据) format:数据类型:text/html ,text/uri-list Data:数据:一般来说是字符串值 <div class="div1" id="div1...注意:sessionStorage 存储特点: 这个数据本质是存储在当前页面的内存中,意味着其它页面和浏览器无法获取数据。 它生命周期为关闭当前页面时,数据会自动清除。...注意:jQuery中没有提供对视频播放控件方式,所以如果使用jQuery操作元素,必须将其转为原生 js 方式来调用这些方法。

1.5K20

jQuery插件jQueryUI

jQuery UI是一个功能丰富jQuery插件集合,提供了一系列用户界面组件和效果,可用于创建交互性强、视觉效果丰富网页应用程序。...可以根据需求选择所需组件进行使用。示例代码如下: 这是一个对话框示例。...buttons: { "确定": function() { $(this).dialog("close"); // 关闭对话框 } } }); // 打开对话框按钮点击事件...拖拽(Draggable):使元素可被拖动。缩放(Resizable):使元素可调整大小。选择排序(Sortable):实现元素拖放排序。...可以根据具体需求,在jQuery UI官方文档中查找相关组件详细文档和示例。主题和定制 jQuery UI还提供了主题(Theme)概念,可以通过使用不同主题文件,改变组件外观和样式。

2.6K20

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

cy.get('a').trigger('mousedown') // 触发 mousedown 事件正确用法 cy.trigger('touchstart') // 错误...参数说明 eventName(字符串) event 在DOM元素上要触发名称。 position(字符串) 应该触发事件位置。该center位置是默认位置。...x(数字) 从元素左侧到触发事件距离(以像素为单位)。 y (数字) 从元素顶部到触发事件距离(以像素为单位)。 options 传递选项对象以更改默认行为.trigger()。...usually the right button) cy.get('.target').trigger('mousedown', { button: 2 }) 拖拽 drag and drop 要使用jQuery...UI sortable模拟拖放,需要pageX和pageY属性以及 which:1 cy.get('[data-cy=draggable]') .trigger('mousedown', { which

3K30

JavaScript学习笔记(五)——Ajax

Ajax中全局事件 ajax全局事件会在调用其他事件时候默认触发: ajaxStart() ajaxSend() ajaxSuccess() ajaxComplete() ajaxStop() ajaxError...jQuery Form插件有两个核心方法: ajaxForm() 适用于以提交表单方式处理数据,需要在表单中标明表单action、id、method属性,最好在表单中提供submit按钮。...此方法大大简化了使用ajax提交表单时数据传递问题,不需要逐个地以JavaScript方式获取每个表单属性值。...ajaxSubmit() 适用于以事件机制提交表单,如通过超链接、图片click事件等提交表单。使用时只需要指定表单action属性即可,不需要提供submit按钮。...鼠标拖拽页面板块 只需要分别在拖拽源和目标上调用 draggable() 函数即可。 实现拖入购物车功能 droppable()方法实现接收容器。

1.9K10

【Wordpress】后台载入很慢

写在前面: 博客搭建了有一段时间了,最近发现后台打开特别慢,之前也比较慢。不过可能最近比较高产,想写点东西,后台打开速度让有一点点代码洁癖我有点无法忍受。...可能有不少朋友也用了 Wordpress,并且找了比较大型主题,并且随着功能健全,插件越装越多,后台打开速度也是很不理想。...c=0&load%5B%5D=jquery-core,jquery-migrate,utils,jquery-ui-core,jquery-ui-widget,jquery-ui-mouse,jquery-ui-sortable...wp-plupload,mediaelement-core,mediaelement-migrate,wp-mediaelement,wp-api-req&load%5B%5D=uest,media-views,jquery-ui-draggable...,jquery-ui-slider,jquery-touch-punch,iris,wp-color-picker&ver=5.2.1 这个链接在一起 js 每次点击后台菜单或选项都会重新加载以便而不是从缓存中读取

2.3K20

有趣拖放案例

从在不同部分之间移动数据开始,到获取正确放置位置。当你有一个可以跨多个级别移动嵌套元素层时,这个挑战就会升级。为了实现这一点,我们无需在这里重新发明轮子,我们有几个库可供选择。...然而,在尝试一些复杂场景时,我们在某些情境中遇到了一些障碍,它无法准确预测元素放置位置。这里是一个例子。我们为特定边缘情况设计了几种解决方案,但它们无法解决所有问题。...)} );};const DraggableItem = ({ item, index }) => ( {item.content} )} </Draggable...它使用Sortable来解决这个问题,因为这是它解决用例之一。它符合我们解决更复杂嵌套拖放场景以及在不同级别拖动能力目标

19200

ElementUI 基于vue+sortable.js实现表格行拖拽

基于vue+sortable.js实现表格行拖拽 实践环境 sortablejs@1.13.0 vue@2.6.11 element-ui@2.13.2 安装sortable.js拖拽库 npm install...(tbody, { draggable: ".demo-table-wrapper .el-table__row", // 指定父容器下可被拖拽子元素 onEnd(...{ newIndex, oldIndex }) { /** * onEnd 拖拽结束后事件处理函数 * newIndex:目标位置对应行索引...======(被拖拽记录行2) * 如果从上往下拖拽,即newIndex > oldIndex,那么在目标位置对应记录行上移(目标位置对应记录行索引值减1),在newIndex所指位置插入被拖拽行...(目标位置对应记录行索引值加1),在newIndex所指位置插入被拖拽行(被拖拽行索引设置为newIndex),视觉效果就是在上述before位置(即目标位置对应行上方)插入被拖拽行

3.4K10
领券