Javascript 恢复拖动
目前,我的拖拽物可以放在网格中的任何地方 如果拖拽物没有被放置在样式高亮显示的区域中,我需要将其还原 我该怎么做 目前我已经让他们恢复,如果他们没有从拖动的网格掉下来,像这样Javascript 恢复拖动,javascript,jquery,jquery-ui,drag-and-drop,Javascript,Jquery,Jquery Ui,Drag And Drop,目前,我的拖拽物可以放在网格中的任何地方 如果拖拽物没有被放置在样式高亮显示的区域中,我需要将其还原 我该怎么做 目前我已经让他们恢复,如果他们没有从拖动的网格掉下来,像这样 $('.drag').draggable({ helper: 'clone', snap: '.drop', grid: [60, 60], revert: 'invalid', }); 下面是选择所需放置区域的函数 $('#pickNext').mousedown(f
$('.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'
}
}
});
每次开始拖动字母时,需要创建与给定字母匹配的新
拖放区。目前,每个字母都是可拖放的,这不是您想要的
为此,我修改了您的JSFIDLE,以便在每次开始拖动字母时使用名为makeDroppables()
的函数创建放置区域
注意:答案经过编辑以更接近问题
此外,在可拖动的屏幕上:
“如果设置为无效,则只会进行还原
如果拖缆未落在拖缆上。”
没有更简单的方法吗@briangonzalezI肯定会的,因为它是完美的。如果我希望“.spellword”允许错误的字母@briangonazalezChangevar validDrop=$('.drop box.spellword[data letter='+$(this.attr('data-letter')+'])
tovar validDrop=$('.drop-box.spellword')代码>如果我不想在单词的第一个单元格中还原,但仍然能够将错误的字母放入,该怎么办@Briangonzalez你觉得你会怎么做?