还原可拖动对象
Reverting draggables
目前,我的draggable可以放在网格中的任何位置。
如果这些可拖拉的东西没有掉到风格突出的区域,我需要它们恢复原状。
我该怎么做?
目前,如果它们没有从可拖动的网格中掉落,我已经让它们恢复,就像这样…
$('.drag').draggable({
helper: 'clone',
snap: '.drop',
grid: [60, 60],
revert: 'invalid',
});
这是选择所需降落区域的函数。。。
$('#pickNext').mousedown(function() {
// remove the class from all td's
$('td').removeClass('spellword');
// pick a random word
var r = rndWord;
while (r == rndWord) {
rndWord = Math.floor(Math.random() * (listOfWords.length));
}
// apply class to all cells containing a letter from that word
$('td[data-word="' + listOfWords[rndWord].name + '"]').addClass('spellword');
});
像这样的。。。
$('.squares').draggable({
drop: function(event, ui){
if (squares.drop ! word) {
revert: 'invalid'
}
}
});
或者这个。。
$('.squares').draggable({
drop: function(event, ui) {
if ($(this).text() == $(ui.draggable).text().trim()) {
revert: 'valid'
}
else {
revert: 'invalid'
}
}
});
每次开始拖动字母时,都需要创建与给定字母匹配的新drop
区域。目前,每个字母都是droppable
,这不是你想要的。
为了做到这一点,我修改了您的JSFiddle,以便在每次开始拖动字母时使用一个名为makeDroppables()
的函数来创建放置区域。
工作JSFiddle
注:答案经过编辑以更接近问题。
此外,从draggable:上的jQuery UI文档
"如果设置为无效,则只会发生还原如果可拖动对象尚未掉落到可拖动对象上。"
相关文章:
- 调整窗口大小时,可拖动的对象会出现在容器外部
- 旋转后拖动对象
- 如何在使用Kinetic拖动同一对象后,在旋转动画中保持先前的偏移
- 通过拖动可以更改三维模型对象在Three.js场景中的位置
- Javascript拖动对象
- jQuery拖动到相对位置的可排序列表中时出现可拖动辅助对象位置问题
- dropable的Over事件是't工作正常,在可拖动对象被拖放到贪婪的可拖动对象上并再次拖动后
- 如何在拖动对象时检测画布的中心线以使其居中
- 允许具有相同 id 的对象可以使用 jQuery 拖动
- 使一组对象与 jQuery 一起拖动
- 删除时禁用可拖动对象
- 可缩放容器鼠标上的可拖动元素在创建时从辅助对象上浮动
- 拖放无法识别动画CC中拖动对象的子对象
- 防止可拖动对象被添加多次jQuery
- html5拖动&drop-TypeError:Node.appendChild的参数1不是对象
- HTML 文档 - 无法阻止对象拖动
- 将对象拖动到特定路径并在同级路径中移动
- 三.js约束对象拖动到另一个对象的表面
- 结构.js以编程方式停止对象拖动
- 用于在浏览器中转换对象(拖动、缩放、旋转和扭曲)的Javascript框架