问题标签 [droppable]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jquery - 拖动 Draggable 时添加 Droppables
期望的行为:
用户将项目拖到树上。将鼠标悬停在关闭的节点上时,该节点会展开并显示子节点。此时,用户可以继续拖动到子节点并放在其中的任何一个上。
这工作正常。我使用 droppables 的“over”选项来扩展节点并使子节点可放置。
但我需要添加更多功能。首先,我为可拖动对象添加了一个助手。仍然工作正常。然后我将 Draggables 和 droppables 放入两个不同的容器(div)中。此时,助手不会拖出容器。解决方案是在可拖动对象上设置“appendTo:'body'”。一切都好……嗯,不完全是。
现在子节点在当前拖动操作期间不可放置。用户必须释放当前拖动并重新拖动到所需的子节点。如果我删除 appendTo 选项,问题就会消失,但是助手不会在视觉上移动到可放置容器中。
有什么方法可以让我“唤醒”这些新的 droppables 以使它们立即 droppable?
jquery - 拖放到可拖动元素中,拖放到其他容器而不是自身?
在引用了 JQuery UI Droppable 示例后:购物车。我重写了它以进行测试。但是遇到了一些问题。
假设:
产品容器:将产品拖放到购物车容器中。
和购物车容器:
和其他购物车容器:
我希望shoppingCart1的产品可以拖放到其他购物车容器而不是它自己,反之亦然。例如:
问题是:
当产品被拖放到 s* hoppingCart1 * 中时,我可以将shoppingCart1中的产品拖放到其他购物车容器中。但是似乎当我将产品拖放到它自己的内部时,它也会附加产品. 我的意思是当我拖动shoppingCart1 的产品并放入shoppingCart1本身时,它也附加到shoppingCart1。
非常感谢!
我的部分代码从 JQuery UI Droppable 重写:购物车示例![不能按我的意愿工作]
jquery - 克隆的 jQuery 可拖动对象不能放在自身上
使用 jQuery UI,我有一个foo
既可拖动又可放置的 div,以及一个bar
只能放置的 div。拖动发生在helper: 'clone'
选项打开的情况下,因此原件foo
实际上并没有移动。当我将克隆foo
放在原始foo
的顶部时,drop: function
不会调用。
这看起来很奇怪,因为当我将克隆的内容foo
放到bar
. 它还可以将其他可拖动对象拖放到foo
. 唯一的问题是我不能自己倒下foo
。
我刚刚说了很多次 foo 和 bar 以及 draggable 和 droppable ,以至于我都感到困惑,但是这个例子应该可以解决问题:
如果您尝试将第一个框拖到第二个或第三个框上,它会起作用。但是,如果不是将其拖放到第二个盒子上,而是开始拖动它,然后尝试将其拖放到自身上,则什么也不会发生。如果这就是事情应该如何运作,那么我做错了什么?如果这是 jQuery UI 中的一个错误,那么您能想到任何好的解决方法吗?
jquery - jQuery 可拖动/可放置的未命中事件
当我的可拖动项目被拖放但不在可拖放项目内时,我想处理一个事件。到目前为止,我只能做到这一点:
#myDroppable
但问题是当添加一些东西时我正在改变元素。所以下次我给它丢东西的时候event.srcElement.id
可能不是myDroppable
,而是它的新孩子的任何 id。我可以在顶部添加一个叠加层,但是当有滚动条时它会变得更加复杂。有没有其他方法来处理这个事件?
javascript - JQueryUI:放入容器中,追加和恢复
我被 JQueryUI 困住了。具体来说,我截断了以下 html:
现在我想通过 JQueryUI 库使项目可拖放到“to”框中。因此,我使用这个 javascript 片段:
虽然就结果而言这非常有效,但处理“还原”的动画并没有像我想要的那样表现。问题是拖动显然是通过设置“位置:相对”然后更改“顶部”和“左侧”css属性来实现的。一旦项目附加到新容器(发生在还原动画之前),它就会跳转到新位置,因为它现在相对于新容器定位。还原动画现在从新位置开始。
将项目附加到新容器后,有什么方法可以让我获得平滑的还原动画?也许我正在以完全错误的方式解决这个问题,所以请不要犹豫,提出任何不同的方法。
我一直在尝试根据新容器的绝对位置重新计算 css left 和 top 属性,但这当然只适用于第一个放置的项目,第二个还必须考虑第一个项目的位置。
谢谢。
jquery - JQuery - 拖放 - Id 可拖动元素
我是这个论坛的新手
我从 2 周开始学习 jquery,但我相当缺乏经验。我的网站是用 asp.net mvc 构建的并使用 jquery 1.4.1
这是代码
html
...
……
脚本
问题是 id 属性的值始终为 1(索引变量),而 1 和 2。(红色行)我错在哪里?
非常感谢您的回复阿尔贝托
jquery-ui - 如何取消 jQuery droppable 的放置操作?
我有一个 jQuery UI droppable,它接受 Draggables。如果满足某些条件,我不想允许 drop 操作。
如何取消放置操作并执行类似还原操作?
javascript - Droppable 重新启用 - Jquery
演示:http: //jsfiddle.net/vMQVy/2/
拿走该项目,放入垃圾箱......然后从垃圾箱中删除该项目并再次尝试再次放在那里(相同或其他项目)......
Droppable 仍然“禁用”
部分代码:
可以帮我解决吗?
jquery - 如何将图像拖放到容器中,然后根据拖放到容器中的内容更新容器?
我希望能够将图像拖到两个容器之一(容器 1 和容器 2)中。从那里,根据图像被删除到哪个容器,我想用一个数据库调用来更新那个容器(或者只是更新我的一个表中的一行)。
我想使用http://jqueryui.com/demos/droppable/来实现这一点,但我不确定如何处理请求,以及如何让每个容器监听事件处理程序(删除图片)。
我在下面画了一个非常糟糕的图表来解释我的意思:
javascript - 将 revert 与 jQuery 可拖放/可拖放相结合
我正在使用带有 jQuery UI 的拖放插件。我想使可拖动容器只能拖放到容器上。在演示中:
http://jqueryui.com/demos/droppable/#revert
它有 2 个选项。一种是拖到容器时恢复,第二种是不拖到容器时恢复。
有没有办法将这两者结合起来?我不想能够将#draggable 容器拖到没有#droppable 容器的任何地方。