dijit._editor.plugins.EnterKeyHandling.singleLinePsToRegularPs
dojo.require("dijit._editor.plugins.EnterKeyHandling");
defined in dijit/_editor/plugins/EnterKeyHandling.js
Usage
function (element) (view source)
function getParagraphParents(node){ var ps = node.getElementsByTagName('p'); var parents = []; for(var i=0; i<ps.length; i++){ var p = ps[i]; var knownParent = false; for(var k=0; k < parents.length; k++){ if(parents[k] === p.parentNode){ knownParent = true; break; } } if(!knownParent){ parents.push(p.parentNode); } } return parents; } function isParagraphDelimiter(node){ if(node.nodeType != 1 || node.tagName != 'P'){ return dojo.style(node, 'display') == 'block'; }else{ if(!node.childNodes.length || node.innerHTML==" "){ return true; } //return node.innerHTML.match(/^(<br\ ?\/?>| |\ \;)$/i); } return false; } var paragraphContainers = getParagraphParents(element); for(var i=0; i<paragraphContainers.length; i++){ var container = paragraphContainers[i]; var firstPInBlock = null; var node = container.firstChild; var deleteNode = null; while(node){ if(node.nodeType != "1" || node.tagName != 'P'){ firstPInBlock = null; }else if (isParagraphDelimiter(node)){ deleteNode = node; firstPInBlock = null; }else{ if(firstPInBlock == null){ firstPInBlock = node; }else{ if( (!firstPInBlock.lastChild || firstPInBlock.lastChild.nodeName != 'BR') && (node.firstChild) && (node.firstChild.nodeName != 'BR') ){ firstPInBlock.appendChild(this.editor.document.createElement('br')); } while(node.firstChild){ firstPInBlock.appendChild(node.firstChild); } deleteNode = node; } } node = node.nextSibling; if(deleteNode){ dojo._destroyElement(deleteNode); deleteNode = null; } } } return element;
parameter | type | description |
---|---|---|
element |