вместо того, чтобы содержать защитный элемент вокруг него, как я могу его использовать внутри него? Таким образом, вы можете перетаскивать элемент где угодно, пока его края не сталкиваются с элементом внутри него? JQuery перетаскивается изнутри-из-под защитой
ответ
Один из подходов состоит в том, чтобы использовать событие drag
и обновить поля ui.position
или ui.offset
, чтобы вручную ограничить предмет.
Here - это jsfiddle, чтобы проиллюстрировать концепцию, хотя это не полностью реализует то, что вы описываете.
Вы можете подделать его, создав реальный содержащий компонент, который ограничивает ваш перетаскиваемый элемент, как если бы он был ограничен меньшим элементом. Вы просто должны были бы сделать размеры реального контейнера, как это:
Container.height = (Draggable.height - Restrict.height) + Draggable.height
Container.width = (Draggable.width - Restrict.width) + Draggable.width
Затем, вы также должны противостоять тащит движение так, что содержащийся элемент ограничения, кажется, не двигаться когда перемещаемый элемент перемещается. Либо это, либо неподвижная секция может быть плавающим div.
Если это кому-то еще интересно, используя код и логику Расти here's a JSfiddle link.
Основываясь на ответе @ RustyTheBoyRobot, вы также можете выполнить только в CSS, если известны размеры вашего перетаскиваемого.
Живой пример - jsbin.com/agovex
Очевидным недостатком этого является то, если вы хотите использовать это в нескольких ситуациях, это не будет работать, так как значения зашиты в CSS. Но если вам это нужно только для одной вещи с известными измерениями, я нахожу CSS только простым и элегантным. Для создания draggable существует только одна строка JavaScript.
- 1. jQuery слайдер не перетаскивается
- 2. Панель не перетаскивается - JQuery UI
- 3. jQuery draggable helper не перетаскивается?
- 4. jQuery UI перетаскивается только влево
- 5. Почему этот перетаскиваемый компонент jquery не перетаскивается?
- 6. Получить атрибут Scrollable JQuery UI перетаскивается Item
- 7. jQuery перетаскивание - как попасть в элемент перетаскивается
- 8. JQuery перетаскиваемый элемент при клонировании не перетаскивается
- 9. JQuery UI draggable, похоже, не перетаскивается
- 10. Изображение перетаскивается, но не изменяется? JQuery
- 11. Выполнить код, когда элемент перетаскивается (JQuery Draggable)
- 12. JQuery UI перетаскивается в сортировку, не прокручивая
- 13. JQuery-UI перетаскивается в исходное положение.
- 14. Выполнение jQuery UI перетаскивается за окно
- 15. jQuery UI Cloned Draggable Element не перетаскивается
- 16. Остановка jQuery перетаскивается из прокрутки экрана
- 17. jQuery draggable не перетаскивается после падения
- 18. JQuery draggable не работает с защитой
- 19. JQuery mobile app - проблемы с защитой формы
- 20. разница между защитой и защитой [это]
- 21. jQueryUI обнаруживает, когда элемент перетаскивается
- 22. Перетаскивание, определяющее, что перетаскивается
- 23. C# ярлык не перетаскивается:
- 24. Создание jVectormap не перетаскивается
- 25. Несанкционированный доступ с пружинной защитой
- 26. jQuery перетаскиваемый. Полноразмерное изображение перетаскивается к его границам внутри тела?
- 27. JQuery перетаскивается и прокручивается в div с фиксированной высотой
- 28. jQuery UI sortable - делать что-то, когда элемент перетаскивается
- 29. JQuery, получая идентификатор DIV, когда он перетаскивается с помощью «draggable»?
- 30. Получить идентификатор атрибута элемента Div, который перетаскивается с помощью JQUERY
Абсолютно совершенный! Спасибо! –
Другой пример использования этой техники - http://jsbin.com/agovex/ –
TJ, ваш код очень простой, да он использует небольшой код, но если ограничение изменит размер, вам придется изменить css. Это не очень практично? –