切换CKEditor插件按钮的状态

时间:2015-05-08 17:00:54

标签: javascript ckeditor

根据选择切换ckeditor插件菜单按钮状态的正确方法是什么?

例如,在链接/取消链接插件中,如果光标位于链接中,我只想启用取消链接。

results = results
    .GroupBy(p => new { p.ProductCode, p.Name, p.Type })
    .Select(g => new Product {
        ProductCode = g.Key.ProductCode,
        Name = g.Key.Name,
        Type = g.Key.Type,
        Price = g.Sum(p => p.Price)
    })
    .ToList();

感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

CKEDITOR.commandDefinition#contextSensitive属性可以控制特定上下文中命令的状态。

例如,Unlink按钮的actual implementation如下所示:

CKEDITOR.unlinkCommand.prototype = {
    exec: function( editor ) {
        ...
    },

    refresh: function( editor, path ) {     
        var element = path.lastElement && path.lastElement.getAscendant( 'a', true );

        if ( element && element.getName() == 'a' && element.getAttribute( 'href' ) && element.getChildCount() )
            this.setState( CKEDITOR.TRISTATE_OFF );
        else
            this.setState( CKEDITOR.TRISTATE_DISABLED );
    },

    contextSensitive: 1,
    ...
};