Insert HTML in NicEdit WYSIWYG

后端 未结 7 1589
忘了有多久
忘了有多久 2020-12-11 06:40

How can I insert text/code at the cursors place in a div created by NicEdit?

I\'ve tried to read the documentation and create my own plugin, but I want it to work wi

7条回答
  •  醉酒成梦
    2020-12-11 07:12

    The way I solved this was to make the nicEdit Instance div droppable, using jQuery UI; but to also make all of the elements within the div droppable.

    $('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 = $('').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 = $('').append($(ui.draggable).attr('value'));
        $(this).append(insertEl);
      },
      out: function(event, ui) {
        $(this).find('.cursor').remove();
      },
      greedy: true
    });
    

    Then make your code or text draggable:

    $('.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)
                });            
    

    Then finally make sure you set the value of the draggable element to what you want to insert, and/or modify the code below to insert the element (span) of your choice.

            $sHTML .= "
    ".$config[1]."
    ";

提交回复
热议问题