wxxsd/wxxsd123/UEditor/_src/plugins/directionality.js
(开头部分) 4KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
///import core
///commands 输入的方向
///commandsName DirectionalityLtr,DirectionalityRtl
///commandsTitle 从左向右输入,从右向左输入
/**
* 输入的方向
* @function
* @name baidu.editor.execCommand
* @param {String} cmdName directionality执行函数的参数
* @param {String} forward ltr从左向右输入,rtl从右向左输入
*/
(function() {
var block = domUtils.isBlockElm ,
getObj = function(editor){
// var startNode = editor.selection.getStart(),
// parents;
// if ( startNode ) {
// //查找所有的是block的父亲节点
// parents = domUtils.findParents( startNode, true, block, true );
// for ( var i = 0,ci; ci = parents[i++]; ) {
// if ( ci.getAttribute( 'dir' ) ) {
// return ci;
// }
// }
// }
return utils.findNode(editor.selection.getStartElementPath(),null,function(n){return n.getAttribute('dir')});
},
doDirectionality = function(range,editor,forward){
var bookmark,
filterFn = function( node ) {
return node.nodeType == 1 ? !domUtils.isBookmarkNode(node) : !domUtils.isWhitespace(node)
},
obj = getObj( editor );
if ( obj && range.collapsed ) {
obj.setAttribute( 'dir', forward );
return range;
}
bookmark = range.createBookmark();
range.enlarge( true );
var bookmark2 = range.createBookmark(),
current = domUtils.getNextDomNode( bookmark2.start, false, filterFn ),
tmpRange = range.cloneRange(),
tmpNode;
while ( current && !(domUtils.getPosition( current, bookmark2.end ) & domUtils.POSITION_FOLLOWING) ) {
if ( current.nodeType == 3 || !block( current ) ) {
tmpRange.setStartBefore( current );
while ( current && current !== bookmark2.end && !block( current ) ) {
tmpNode = current;
current = domUtils.getNextDomNode( current, false, null, function( node ) {
return !block( node )
} );
}
tmpRange.setEndAfter( tmpNode );
var common = tmpRange.getCommonAncestor();
if ( !domUtils.isBody( common ) && block( common ) ) {
//遍历到了block节点
后面还有 58 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
