kehu23628 2010-01-06 13:47
浏览 211
已采纳

熟悉FCKeditor的朋友请进

FCKSelection有2个方法: HasAncestorNode和MoveToAncestorNode,他们有什么区别??
[b]问题补充:[/b]
貌似选中的结点名和MoveToAncestorNode 的参数名相同时
MoveToAncestorNode 会返回null
[b]问题补充:[/b]
var FCKToolbarButton=function (A,B,C,D,E,F,G) {
this.CommandName=A;
this.Label=B;
this.Tooltip=C;
this.Style=D;
this.SourceView=E?true:false;
this.ContextSensitive=F?true:false;
if(G==null)this.IconPath=FCKConfig.SkinPath+'toolbar/'+A.toLowerCase()+'.gif';
else if(typeof(G)=='number')this.IconPath=[FCKConfig.SkinPath+'fck_strip.gif',16,G];
else this.IconPath=G;
};

SourceView和ContextSensitive是干什么的??

  • 写回答

2条回答 默认 最新

  • chengming5460 2010-01-06 14:19
    关注

    源码你要多看看:
    HasAncestorNode只做判断,返回ture和false
    [code="js"]
    HasAncestorNode = function(A){
    var B;
    if(FCK.EditorDocument.selection.type=="Control"){
    B=this.GetSelectedElement();
    }else{
    var C=FCK.EditorDocument.selection.createRange();
    B=C.parentElement();
    };
    while (B){
    if (B.tagName==A)
    return true;
    B=B.parentNode;
    };
    return false;
    }

    [/code]
    MoveToAncestorNode根据提供的节点向上递归定位到指定节点并返回
    [code="js"]
    FCKSelection.MoveToAncestorNode = function( nodeTagName )
    {
    var oNode, oRange ;

    if ( ! FCK.EditorDocument )
        return null ;
    
    if ( FCK.EditorDocument.selection.type == "Control" )
    {
        oRange = FCK.EditorDocument.selection.createRange() ;
        for ( i = 0 ; i < oRange.length ; i++ )
        {
            if (oRange(i).parentNode)
            {
                oNode = oRange(i).parentNode ;
                break ;
            }
        }
    }
    else
    {
        oRange  = FCK.EditorDocument.selection.createRange() ;
        oNode = oRange.parentElement() ;
    }
    
    while ( oNode && oNode.nodeName != nodeTagName )
        oNode = oNode.parentNode ;
    
    return oNode ;
    

    }[/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题