UE.plugins['dragdrop'] = function (){ var me = this; me.ready(function(){ domUtils.on(this.body,'dragend',function(){ var rng = me.selection.getRange(); var node = rng.getClosedNode()||me.selection.getStart(); if(node && node.tagName == 'IMG'){ var pre = node.previousSibling,next; while(next = node.nextSibling){ if(next.nodeType == 1 && next.tagName == 'SPAN' && !next.firstChild){ domUtils.remove(next) }else{ break; } } if((pre && pre.nodeType == 1 && !domUtils.isEmptyBlock(pre) || !pre) && (!next || next && !domUtils.isEmptyBlock(next))){ if(pre && pre.tagName == 'P' && !domUtils.isEmptyBlock(pre)){ pre.appendChild(node); domUtils.moveChild(next,pre); domUtils.remove(next); }else if(next && next.tagName == 'P' && !domUtils.isEmptyBlock(next)){ next.insertBefore(node,next.firstChild); } if(pre && pre.tagName == 'P' && domUtils.isEmptyBlock(pre)){ domUtils.remove(pre) } if(next && next.tagName == 'P' && domUtils.isEmptyBlock(next)){ domUtils.remove(next) } rng.selectNode(node).select(); me.fireEvent('saveScene'); } } }) }); me.addListener('keyup', function(type, evt) { var keyCode = evt.keyCode || evt.which; if (keyCode == 13) { var rng = me.selection.getRange(),node; if(node = domUtils.findParentByTagName(rng.startContainer,'p',true)){ if(domUtils.getComputedStyle(node,'text-align') == 'center'){ domUtils.removeStyle(node,'text-align') } } } }) };