为了账号安全,请及时绑定邮箱和手机立即绑定

从被拖动的元素中获取父数据元素 - 拖放功能

从被拖动的元素中获取父数据元素 - 拖放功能

海绵宝宝撒 2022-05-22 18:03:26
我正在尝试data-date在 JavaScript 中检索拖动对象的父数据属性。所以我想<td>从div“拖动我”的位置接收数据日期属性。HTML 示例:<td data-date="2/3/2020"><div>drag me</div></td><td data-date="3/3/2020"><-- DIV "Drag Me" will be dragged to this location --!></td>我能够检索删除的数据日期属性,但无法弄清楚如何检索从数据日期属性中拖动的内容。JS From 和 TO 当前代码       dropped = ui.draggable,       newDate = $(this).data('date'),       console.log('Date From :' + dropped.data('date')); // needs to be found       console.log('Date To:' + newDate); // Works correctlyjavascript拖放元素自定义数据属性
查看完整描述

2 回答

?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

我找到了一种解决方法,可以将信息从可拖动函数传递到可放置函数


在下面的示例中,我首先从可拖动函数中的父元素获取数据日期值。检索到这些数据后,我们将值从可拖动的函数传递给可放置的函数。


我们将变量命名为oldDate,以便我们可以通过调用“ui.draggable.data('oldDate')”在可放置函数中访问它。我会在下面为你们提供一个示例代码。


可拖动功能:


$(".drag").draggable({

    cursor: "crosshair",

    revert: "invalid",

    start: function(event, ui) {

        var oldDate = $(this).parent().data('date'); // get value from parent data-date attribute

        $(this).data('oldDate', oldDate); // pass variable to droppable function

    }

});

可丢弃功能:


 $("td[data-date]").droppable({

    accept: ".drag", 

    activeClass: "over",

    drop: function(event, ui) {

        var displayOldDate = ui.draggable.data('oldDate'); // access the variable saved in draggable function 

        console.log('Dragged from: ' + displayOldDate);

    }

 });


查看完整回答
反对 回复 2022-05-22
?
HUWWW

TA贡献1874条经验 获得超12个赞

管理它的方法很少

  1. 我最好在开始拖动时将初始父元素保存到某个变量中。

  2. 另一种选择可能是在拖动元素本身上拥有所有需要的数据


查看完整回答
反对 回复 2022-05-22
  • 2 回答
  • 0 关注
  • 188 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号