Я пытаюсь сделать элементы формы перетаскиваемыми с помощью jQuery UI. Например, кнопки, флажки, текстовые поля и т. Д. До сих пор мне не повезло. Есть ли у вас идеи, как это сделать?jQuery Перетаскиваемые элементы ввода
ответ
Ну входные элементы должны быть доступны для редактирования, так что делают их перетаскиваемого бы их неизменяемыми.
Заверните их в <span>
или <div>
и я настоятельно рекомендую вам использовать handle.
Я думаю, что это лучше всего соответствует вашим требованиям :) Его перетаскиваемые + изменяемые по размеру элементы ввода, но вы не потеряли свою природу для редактирования.
$(function(){
$('.draggable').draggable().resizable();
});
Вот мое решение для вас: my jsFiddle.
Хитрость состоит поставить прозрачный DIV над элементами входов:
div div{
position:absolute;
z-index:2;
height: 100%;
width: 100%;
}
div input{
position:relative;
z-index:1;
}
<div><div> </div><input type="text" value="..." disabled="true"/></div>
$('body>div').draggable();
Это то, что я искал. Мне нужно было отображать входные данные формы, сделать их перетаскиваемыми и непригодными для использования, не изменяя их внешний вид для WYSIWYG. Не могу поверить, что я не думал об этом простом решении. – Johannes
лучшим решением является то, что вы поместите их в DIV или пролетом
Может быть 3-х лет слишком поздно, но вы могли бы послать события и использовать следующий фрагмент кода для более ожидаемого поведения:
$(".draggable").draggable({
start: function (event, ui) {
$(this).data('preventBehaviour', true);
}
});
$(".draggable").find(":input").on('mousedown', function (e) {
var mdown = new MouseEvent("mousedown", {
screenX: e.screenX,
screenY: e.screenY,
clientX: e.clientX,
clientY: e.clientY,
view: window
});
$(this).closest('.draggable')[0].dispatchEvent(mdown);
}).on('click', function (e) {
var $draggable = $(this).closest('.draggable');
if ($draggable.data("preventBehaviour")) {
e.preventDefault();
$draggable.data("preventBehaviour", false)
}
});
'initMouseEvent' устарел - любая идея, что его заменяет? – SQLiteNoob
@SQLiteNoob Thx для обратной связи. Я обновил ответ, используя конструктор 'MouseEvent()' –
Спасибо, это блестящее решение проблемы, – SQLiteNoob
- 1. jQuery перетаскиваемые элементы таблицы
- 2. jQuery UI регенерировать (зомби) перетаскиваемые элементы
- 3. Перетаскиваемые элементы в вложенном клике jQuery
- 4. jquery ui перетаскиваемые сортируемые элементы в iframe
- 5. Зачем добавлять элементы не перетаскиваемые?
- 6. Перетаскиваемые элементы с прототипом
- 7. CSS [перетаскиваемые] элементы
- 8. Перетаскиваемые элементы HTML
- 9. Элементы, не перетаскиваемые в jsPlumb
- 10. Сортируемые/перетаскиваемые элементы, такие как Drupal 7
- 11. JQuery перетаскиваемые не работали
- 12. Вычислить перетаскиваемые divs - jquery
- 13. Элементы ввода JQuery
- 14. jQuery Добавляющие элементы ввода
- 15. innerHTML элементы списка перетаскиваемые не работают
- 16. Выбираемые, перетаскиваемые и отбрасываемые элементы с AngularJS
- 17. jQuery UI Draggable/Sortable - динамически добавленные элементы не перетаскиваемые
- 18. jQuery ui draggable element попадает под другие перетаскиваемые элементы
- 19. jQuery fullcalendar: как сохранить перетаскиваемые и переразмерные элементы
- 20. jQuery UI - Перетаскиваемые элементы в overflow-y: scroll container
- 21. Jquery: Перетаскиваемые элементы связаны между SortableList и DroppableArea выпуска клона
- 22. Как добавить динамически добавленные элементы списка, перетаскиваемые в jquery?
- 23. JQuery UI Перетаскиваемые элементы, отображаемые в одной строке
- 24. Перетаскиваемые элементы с коннекторами в jsPlumb
- 25. элементы ввода ввода из переменной jquery
- 26. Ограничьте области отбрасывания на некоторые перетаскиваемые элементы
- 27. Как отображать перетаскиваемые текстовые элементы внутри холста?
- 28. Перетаскиваемые элементы управления ToolStrip внутри формы MDI
- 29. Перетаскиваемые элементы, не работающие в QML
- 30. Перетаскиваемые элементы с несколькими списками и заказами
Да, но что, если вы не хотите, чтобы вход редактировался. – bryan