Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery ui jQuery ui.draggable-更改当前拖动的对象(在fullCalendar中)_Jquery Ui_Clone_Draggable - Fatal编程技术网

Jquery ui jQuery ui.draggable-更改当前拖动的对象(在fullCalendar中)

Jquery ui jQuery ui.draggable-更改当前拖动的对象(在fullCalendar中),jquery-ui,clone,draggable,Jquery Ui,Clone,Draggable,我刚刚发现了fullcalendarjquery插件,它提供了我正在构建的约会计划服务所需的几乎所有功能。然而,我遇到了一个小问题 fullCalendar Agenday视图中有可拖动的“事件”元素,但它们被锁定到可用时隙的tds。我想保留对时间段的这种捕捉,但也可以将事件完全拖到日历之外(这是旧版本系统的行为要求) 我的想法是在日历表的mouseout事件中复制对象;这是可行的,但是用户必须从原始对象中分别单击并拖动克隆,而不是拖动接管的克隆 一旦用户试图将“event”元素拖到表外,我需要

我刚刚发现了fullcalendarjquery插件,它提供了我正在构建的约会计划服务所需的几乎所有功能。然而,我遇到了一个小问题

fullCalendar Agenday视图中有可拖动的“事件”元素,但它们被锁定到可用时隙的tds。我想保留对时间段的这种捕捉,但也可以将事件完全拖到日历之外(这是旧版本系统的行为要求)

我的想法是在日历表的mouseout事件中复制对象;这是可行的,但是用户必须从原始对象中分别单击并拖动克隆,而不是拖动接管的克隆

一旦用户试图将“event”元素拖到表外,我需要将“我正在被拖”状态转移到克隆。这有可能吗?有没有更简单的解决办法

这是我进行克隆的代码。eventDragStart是一个“触发动作”,当用户开始拖动一个关于()的事件时调用,其中$(this)被设置为event元素,event是calEvent(实际的数据项-此处不相关),js是javascript事件(我从中获得坐标),ui是ui对象引用。“.fc”是日历,“#display_box”是包含此部分界面的父元素。(顺便说一句,这个定位还不起作用,但这是目前的第二要务)


我希望没有使用fullCalendar的人都清楚这一点。我真的很感激任何帮助,很抱歉时间太长了

我想您应该使用
eventElement.clone(true)
将布尔值true作为参数传递将克隆该元素的所有附加事件/处理程序,其中as not passing仅克隆用jQ包装的dome元素。

如果有人对我使用的解决方案感兴趣,我最终编写了自己的迷你可拖动功能——如果用户移动到日历表之外,我只是在拖动事件期间克隆了对象,并手动更新克隆的css顶部/左侧值,直到拖动事件结束。这意味着原始对象仍然会在表中上下拖动,这不是很理想,但这是我能想到的提供客户端所需功能的最佳解决方案

谢谢你的指点;我试过了,但是克隆的对象仍然没有变成“当前”的可拖动对象;克隆只是作为另一个单独的可拖动对象出现在文档中,而不是我正在尝试的连续拖动。
...
eventDragStart: function (event, js, ui) $\{   
var eventElement = $(this);
 $(".fc").mouseout(function () {
  eventElement.clone().css({'z-index':99999, top:js.clientY, right:js.clientX).appendTo("#display_box").draggable({helper: 'original'}); 
  $(".fc").unbind("mouseout");
 });
},
....