0

Я использую draggable и droppable. У меня есть один div на строку, каждый из которых недоступен. Тогда у меня есть один div, который можно перетащить.jquery droppable работает только на первых 50% ширины (ошибка?)

Я заметил, что это работает только на первых 50% ширины divs. Поэтому, если я устанавливаю droppable div на 600 пикселей, droppable будет работать только с первых 300 пикселей. Аналогично, если я не устанавливаю ширину (ширина 100%), то droppable будет работать только с первых 50% ширины.

Вот скрипка: http://jsfiddle.net/6s375ycL/2/

Я добавил <div class="visualExample" id="line7">Not droppable, but 50% width for visual for above lines</div> для справки. Если вы перетащите &, перейдите в строку 1-6 слева от этой красной линии, она будет работать, но если вы находитесь справа от нее, то вы можете отключить триггер.

Еще одна ошибка: Линия 7 должна быть недоступна, но поскольку она имеет ширину, она не будет работать. Никакая часть этого не вызовет droppable.

+0

Привет Крис, вы пробовали фрагмент, который я опубликовал в ответ? – Giorgio

ответ

0

Это связано с тем, что параметр допуска по умолчанию для принятия капель равен 50% перекрытия (см. http://api.jqueryui.com/droppable/#option-tolerance). Если вы измените его на touch, падение будет принято за любой процент перекрытия.

$('.droppable').droppable({ 
    tolerance:"touch", 
    drop: function(event, ui) 
    { 
     var droppableId = $(this).attr("id"); 
     alert('dropped in: ' + droppableId); 
    } 
}); 

Пожалуйста, сформулируйте Ваши вопросы относительно fiddle, чтобы показать правильное поведение.

Смежные вопросы