From 5040b70fec189b13bfd7bd6ca7117ff7c275a8c9 Mon Sep 17 00:00:00 2001 From: campaign Date: Sun, 28 Apr 2013 16:10:21 +0800 Subject: [PATCH] by zhanyi --- _src/core/Editor.js | 1 + _src/core/Range.js | 13 +++++-------- _src/plugins/undo.js | 8 +++++--- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/_src/core/Editor.js b/_src/core/Editor.js index 6c4099f8..b4e19dbe 100644 --- a/_src/core/Editor.js +++ b/_src/core/Editor.js @@ -66,6 +66,7 @@ me.setOpt({ isShow: true, initialContent: '', + initialStyle:'p{line-height:1em}', autoClearinitialContent: false, iframeCssUrl: me.options.UEDITOR_HOME_URL + 'themes/iframe.css', textarea: 'editorValue', diff --git a/_src/core/Range.js b/_src/core/Range.js index 66d71464..5e637ae1 100644 --- a/_src/core/Range.js +++ b/_src/core/Range.js @@ -1138,15 +1138,12 @@ if(ignoreTxt){ if(node.nodeType == 3){ - var tmpNode = node; - while(tmpNode = tmpNode.previousSibling){ - if(tmpNode.nodeType == 3){ - firstIndex += tmpNode.nodeValue.replace(fillCharReg,'').length; - }else{ - break; - } + var tmpNode = node.previousSibling; + while(tmpNode && tmpNode.nodeType == 3){ + firstIndex += tmpNode.nodeValue.replace(fillCharReg,'').length; + tmpNode = tmpNode.previousSibling; } - firstIndex += (isStart ? me.startOffset : me.endOffset) - (fillCharReg.test(node.nodeValue) ? 1 : 0 ) + firstIndex += (isStart ? me.startOffset : me.endOffset)// - (fillCharReg.test(node.nodeValue) ? 1 : 0 ) }else{ node = node.childNodes[ isStart ? me.startOffset : me.endOffset]; if(node){ diff --git a/_src/plugins/undo.js b/_src/plugins/undo.js index b993713b..cd14473d 100644 --- a/_src/plugins/undo.js +++ b/_src/plugins/undo.js @@ -13,7 +13,9 @@ UE.plugins['undo'] = function () { maxUndoCount = me.options.maxUndoCount || 20, maxInputCount = me.options.maxInputCount || 20, fillchar = new RegExp(domUtils.fillChar + '|<\/hr>', 'gi');// ie会产生多余的 - + var noNeedFillCharTags = { + ol:1,ul:1,table:1,tbody:1,tr:1,body:1 + }; var orgState = me.options.autoClearEmptyNode; function compareAddr(indexA, indexB) { if (indexA.length != indexB.length) @@ -89,7 +91,7 @@ UE.plugins['undo'] = function () { try{ var rng = new dom.Range(me.document).moveToAddress(scene.address); - rng.select(domUtils.isBody(rng.startContainer)); + rng.select(noNeedFillCharTags[rng.startContainer.nodeName.toLowerCase()]); }catch(e){} this.update(); @@ -112,7 +114,7 @@ UE.plugins['undo'] = function () { browser.ie && (cont = cont.replace(/> <').replace(/\s*\s*/g, '>')); me.fireEvent('aftergetscene'); try{ - !notSetCursor && rng.moveToAddress(restoreAddress).select(true); + !notSetCursor && rng.moveToAddress(restoreAddress).select(noNeedFillCharTags[rng.startContainer.nodeName.toLowerCase()]); }catch(e){} return { address:rngAddress, -- GitLab