Подтвердить что ты не робот

Как выделить область droppable при наведении курсора с помощью jquery ui draggable

У меня на самом деле есть два вопроса: включение в заголовок является основным. У меня есть несколько элементов div на странице, помеченной как droppable. Внутри этих элементов div есть промежутки, которые отмечены как перетаскиваемые. Я хочу, чтобы это было, когда вы перетаскиваете элемент, и он зависает над недоступной областью, в которой выделяются или выделяются границы, чтобы они знали, что они могут ее там отбросить.

В качестве второстепенного вопроса все мои перетаскиваемые элементы имеют дисплей: блок, ширину и поплавок, поэтому они выглядят красиво и аккуратно в моих областях сбрасываемых объектов. Когда элементы упали, они, похоже, получают позицию, установленную для них, поскольку они больше не плавают славными и аккуратными, как остальные элементы. Для справки, вот мой javascript.

$('.drag_span').draggable({
    revert: true
});
$('.drop_div').droppable({
    drop: handle_drop_patient
});

function handle_drop_patient(event, ui) {
    $(this).append($(ui.draggable).clone());
    $(ui.draggable).remove();
}
4b9b3361

Ответ 1

Отъезд http://jqueryui.com/demos/droppable/#visual-feedback.

Пример:

$( "#draggable" ).draggable();
$( "#droppable" ).droppable({
    hoverClass: "ui-state-active",
    drop: function( event, ui ) {
        $( this )
            .addClass( "ui-state-highlight" )
            .find( "p" )
                .html( "Dropped!" );
    }
});
$( "#draggable2" ).draggable();
$( "#droppable2" ).droppable({
    accept: "#draggable2",
    activeClass: "ui-state-hover",
    drop: function( event, ui ) {
        $( this )
            .addClass( "ui-state-highlight" )
            .find( "p" )
                .html( "Dropped!" );
    }
});

Ответ 2

Это должно работать над добавлением подсветки при наведении.

$('.drop_div').droppable({
     hoverClass: "highlight",
     drop: handle_drop_patient,
});

Затем создайте класс css для выделения, который устанавливает границу или меняет цвет фона или что бы вы ни хотели.

.highlight {
    border: 1px solid yellow;
    background-color:yellow;
}

Что касается позиции, вы можете повторно применить css после завершения кавычки.

function handle_drop_patient(event, ui) {
     $(this).append( $(ui.draggable).clone().css({'float':'left','display':'block'}) );
     $(ui.draggable).remove();
}

Ответ 3

FYI: hoverClass устарел в пользу classes. Теперь это должно быть:

$('.drop_div').droppable({
    classes: {
      'ui-droppable-hover': 'highlight'
    },
    drop: handle_drop_patient
});