Перетаскивание jQuery - проверка наличия выпадения за пределами сбрасываемого объекта

Приношу свои извинения, если на этот вопрос был дан ответ в другом вопросе, я не смог найти ответ, специфичный для моей проблемы!

Я пытаюсь проверить, удаляется ли перетаскиваемый объект jQuery за пределами допустимого. Обычно это решается в 90% случаев путем возврата перетаскиваемого объекта, но я не хочу этого делать. Вместо этого я хочу сделать что-то одно, если перетаскиваемый объект сбрасывается на сбрасываемый объект (отлично работает!), И что-то еще, если он отбрасывается за пределами всех возможных сбрасываемых объектов (в настоящее время меня побеждают!).

Вкратце:

jQuery('#droppable').droppable(
{
    accept: '#draggable',
    drop: function(event, ui)
    {
        // awesome code that works and handles successful drops...
    }
});

jQuery('#draggable').draggable(
{
    revert: false,
    stop: function()
    {
        // need some way to check to see if this draggable has been dropped
        // successfully or not on an appropriate droppable...
        // I wish I could comment out my headache here like this too...
    }
});

Мне кажется, что я упускаю что-то действительно очевидное ... заранее спасибо за любую помощь!

36
задан Chris Kempen 11 November 2011 в 10:40
поделиться

1 ответ

Старый вопрос и старые ответы означают, что это "может" быть новым решением. Вы, (возможно), также хотели, как вопрос указывает, чтобы знать, БЫЛО ЛИ перемещаемое отброшено за пределами сбрасываемого. Для меня, по крайней мере в 95% случаев, я действительно не забочусь, ХОЧУ ЛИ, я просто вещи вернуться к тому, как они были без любых изменений, внесенных, КОГДА это происходит.

Установка revert к строке invalid выполняет желаемое поведение без любого дополнительного кода или броских вещей сделать.

$( '#draggable' ).draggable({
    revert: "invalid",
    stop: function( event, ui )
    {
       // whatever
    }
});

Снова, это не скажет Вам, "если это было отброшено за пределами сбрасываемого", но это вернется к начальному состоянию, если это произойдет.

0
ответ дан 27 November 2019 в 05:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: