wxxsd/UEditor/_src/plugins/basestyle.js
(开头部分) 4KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
///import core
///commands 加粗,斜体,上标,下标
///commandsName Bold,Italic,Subscript,Superscript
///commandsTitle 加粗,加斜,下标,上标
/**
* b u i等基础功能实现
* @function
* @name baidu.editor.execCommands
* @param {String} cmdName bold加粗。italic斜体。subscript上标。superscript下标。
*/
UE.plugins['basestyle'] = function(){
var basestyles = {
'bold':['strong','b'],
'italic':['em','i'],
'subscript':['sub'],
'superscript':['sup']
},
getObj = function(editor,tagNames){
//var start = editor.selection.getStart();
var path = editor.selection.getStartElementPath();
// return domUtils.findParentByTagName( start, tagNames, true )
return utils.findNode(path,tagNames);
},
me = this;
for ( var style in basestyles ) {
(function( cmd, tagNames ) {
me.commands[cmd] = {
execCommand : function( cmdName ) {
var range = new dom.Range(me.document),obj = '';
//table的处理
if(me.currentSelectedArr && me.currentSelectedArr.length > 0){
for(var i=0,ci;ci=me.currentSelectedArr[i++];){
if(ci.style.display != 'none'){
range.selectNodeContents(ci).select();
//trace:943
!obj && (obj = getObj(this,tagNames));
if(cmdName == 'superscript' || cmdName == 'subscript'){
if(!obj || obj.tagName.toLowerCase() != cmdName)
range.removeInlineStyle(['sub','sup'])
}
obj ? range.removeInlineStyle( tagNames ) : range.applyInlineStyle( tagNames[0] )
}
}
range.selectNodeContents(me.currentSelectedArr[0]).select();
}else{
range = me.selection.getRange();
obj = getObj(this,tagNames);
if ( range.collapsed ) {
if ( obj ) {
var tmpText = me.document.createTextNode('');
range.insertNode( tmpText ).removeInlineStyle( tagNames );
range.setStartBefore(tmpText);
domUtils.remove(tmpText);
} else {
后面还有 44 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
