Запуск и выход только при определенном подтверждении с помощью jQuery ui droppable

   $(function() {
    $( "#d1o1" ).droppable({

        accept: "#s1o2, #s1o1, #s1o3, #s1o4, #s1o5, #s1o6",

        over: function (){
            $( "#d1o1" ).droppable( "option", "d1o1Check", "1" );
        },
        out: function () {
            $( "#d1o1" ).droppable( "option", "d1o1Check", "0" );
        },

    })
 });

На данный момент droppable # d1o1 принимает все перетаскиваемые объекты, потому что я хотел бы, чтобы они оставались на месте при падении. Однако я хочу, чтобы функции «over» и «out» запускались только при удалении # s102. Как можно принимать все перетаскиваемые элементы, но перебегать только тогда, когда отбрасывается определенное перетаскивание?


person craig    schedule 11.12.2013    source источник


Ответы (1)


Когда когда-либо перетаскиваемый объект перемещается поверх droppable, вы можете проверить, подходит ли он для функций over и out, следующим образом:

$(function() {
$( "#d101" ).droppable({

    accept: "#s102, #s101, #s103, #s104, #s105, #s106",

    over: function (event, ui){ // Don't forget to add these parameters for the function
        if($(ui.helper).is('#s102')) // <-- Add this line
            $( "#d101" ).droppable( "option", "d1o1Check", "1" );
    },
    out: function (event, ui) { // Don't forget to add these parameters for the function
        if($(ui.helper).is('#s102')) // <-- Add this line
            $( "#d101" ).droppable( "option", "d1o1Check", "0" );
    },

});
$('.drag').draggable();
});

Здесь работает jsFiddle.

person MrNobody007    schedule 24.01.2014