wxxsd/upfiles/UEditor/_src/plugins/customstyle.js
(开头部分) 6KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
///import core
///commands 自定义样式
///commandsName CustomStyle
///commandsTitle 自定义样式
UE.plugins['customstyle'] = function() {
var me = this;
me.setOpt({ 'customstyle':[
{tag:'h1', label:'居中标题', style:'font-size:32px;font-weight:bold;line-height:38px;border-bottom:#ccc 2px solid;padding:0 4px 0 0;text-align:center;margin:0 0 20px 0;'},
{tag:'h1', label:'居左标题', style:'font-size:32px;font-weight:bold;line-height:38px;border-bottom:#ccc 2px solid;padding:0 4px 0 0;text-align:left;margin:0 0 10px 0;'},
{tag:'span', label:'强调', style:'font-size:16px;font-style:italic;font-weight:bold;color:#000;line-height:18px;'},
{tag:'span', label:'明显强调', style:'font-size:16px;font-style:italic;font-weight:bold;color:rgb(51, 153, 204);line-height:18px;'}
]});
me.commands['customstyle'] = {
execCommand : function(cmdName, obj) {
var me = this,
tagName = obj.tag,
node = domUtils.findParent(me.selection.getStart(), function(node) {
return node.getAttribute('label')
}, true),
range,bk,tmpObj = {};
for (var p in obj) {
tmpObj[p] = obj[p]
}
delete tmpObj.tag;
if (node && node.getAttribute('label') == obj.label) {
range = this.selection.getRange();
bk = range.createBookmark();
if (range.collapsed) {
//trace:1732 删掉自定义标签,要有p来回填站位
if(dtd.$block[node.tagName]){
var fillNode = me.document.createElement('p');
domUtils.moveChild(node, fillNode);
node.parentNode.insertBefore(fillNode, node);
domUtils.remove(node)
}else{
domUtils.remove(node,true)
}
} else {
var common = domUtils.getCommonAncestor(bk.start, bk.end),
nodes = domUtils.getElementsByTagName(common, tagName);
if(new RegExp(tagName,'i').test(common.tagName)){
nodes.push(common);
}
for (var i = 0,ni; ni = nodes[i++];) {
if (ni.getAttribute('label') == obj.label) {
var ps = domUtils.getPosition(ni, bk.start),pe = domUtils.getPosition(ni, bk.end);
if ((ps & domUtils.POSITION_FOLLOWING || ps & domUtils.POSITION_CONTAINS)
&&
(pe & domUtils.POSITION_PRECEDING || pe & domUtils.POSITION_CONTAINS)
)
if (dtd.$block[tagName]) {
var fillNode = me.document.createElement('p');
domUtils.moveChild(ni, fillNode);
ni.parentNode.insertBefore(fillNode, ni);
}
domUtils.remove(ni, true)
}
}
后面还有 73 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
