我在ckeditor中粘贴了get元素时遇到了问题。在ck iframe中,我有两个盒子。
<div class="box"> content1 </div>
<div class="box"> content2 </div>插件看起来像
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;
});
} });在添加新的html之前,我想知道目的地元素的类别,以防止将元素拖到其他框中,例如。没有"box“类。
也许有人有一些建议来解决这个问题。
发布于 2016-10-29 06:20:34
如果想要防止paste事件,可以使用evt变量的cancel函数。
要检查拖放位置并查看该元素是否包含特定的类,您应该使用Ranges特性:
evt.editor.getSelection().getRanges()下面是一个组合示例:
sc = evt.editor.getSelection().getRanges()[0].startContainer
if (!sc.getParent().hasClass('box')) {
evt.cancel()
return;
}https://stackoverflow.com/questions/40240913
复制相似问题