2016-10-25 1 views
0

Ich habe ein Problem mit Get-Element, das ich Element in Ckeditor eingefügt. In ck iframe habe ich zwei Boxen ex.CKEDITOR Drop-Element

<div class="box"> content1 </div> 
<div class="box"> content2 </div> 

Plugin sieht aus wie

CKEDITOR.plugins.add('containers', { 
    requires: 'widget', 
    init: function(editor) { 
     editor.addFeature(editor.widgets.registered.containers); 
     editor.on('paste', function(evt) { 
      var contact = evt.data.dataTransfer.getData('contact'); 
      if (!contact) { 
       return; 
      } 
      evt.data.dataValue = contact.html; 
     }); 
    } }); 

Bevor neue html hinzufügen Ich mag würde Klassen von Zielen Element wissen, element zu anderen Boxen ex zu verhindern. ohne Klasse "Box".

Vielleicht hat jemand hat einige vorschlagen, diese poblem

+0

Bitte klären, was Sie brauchen (und was genau ist das Problem). Auch - ein funktionierendes Beispiel wird großartig sein. – Dekel

+0

Ok, z. Ich habe html

content1
content2
content3
msbee

+0

ok, und? stellen Sie ein funktionierendes Beispiel zur Verfügung (öffnen Sie jsfiddle.net und bauen Sie das Beispiel dort auf). – Dekel

Antwort

0

zu lösen Wenn Sie das paste Ereignis verhindern, sollten Sie die cancel Funktion des evt Variable verwenden können.

wenn der abgefallenen Ort zu überprüfen und sehen, ob das Element eine bestimmte Klasse enthalten sollten Sie die Bereiche verfügen verwenden:

evt.editor.getSelection().getRanges() 

Hier ist ein kombiniertes Beispiel:

sc = evt.editor.getSelection().getRanges()[0].startContainer 
if (!sc.getParent().hasClass('box')) { 
    evt.cancel() 
    return; 
}