Способ, которым я решил это, состоял в том, чтобы сделать DIC-объект Instance nicEdit доступным, используя пользовательский интерфейс jQuery; но также чтобы все элементы внутри div можно было сбрасывать.
$('div.nicEdit-main').droppable({
activeClass: 'dropReady',
hoverClass: 'dropPending',
drop: function(event,ui) {
$(this).find('.cursor').removeClass('cursor');
},
over: function(event, ui) {
if($(this).find('.cursor').length == 0) {
var insertEl = $('<span class="cursor"/>').append($(ui.draggable).attr('value'));
$(this).append(insertEl);
}
},
out: function(event, ui) {
$(this).find('.cursor').remove();
},
greedy: true
});
$('div.nicEdit-main').find('*').droppable({
activeClass: 'dropReady',
hoverClass: 'dropPending',
drop: function(event,ui) {
$(this).find('.cursor').removeClass('cursor');
},
over: function(event, ui) {
var insertEl = $('<span class="cursor"/>').append($(ui.draggable).attr('value'));
$(this).append(insertEl);
},
out: function(event, ui) {
$(this).find('.cursor').remove();
},
greedy: true
});
Затем сделайте свой код или текст перетаскиваемым:
$('.field').draggable({
appendTo: '.content', //This is just a higher level DOM element
revert: true,
cursor: 'pointer',
zIndex: 1500, // Make sure draggable drags above everything else
containment: 'DOM',
helper: 'clone' //Clone it while dragging (keep original intact)
});
Затем, наконец, убедитесь, что вы установили значение перетаскиваемого элемента на то, что хотите вставить, и / или измените код ниже, чтобы вставить элемент (span) по вашему выбору.
$sHTML .= "<div class='field' value='{{".$config[0]."}}'>".$config[1]."</div>";