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”允许错误的字母@briangonazalezChange
var validDrop=$('.drop box.spellword[data letter='+$(this.attr('data-letter')+'])
to
var validDrop=$('.drop-box.spellword')如果我不想在单词的第一个单元格中还原,但仍然能够将错误的字母放入,该怎么办@Briangonzalez你觉得你会怎么做?