ExtJS:向htmleditor添加按钮

前端之家收集整理的这篇文章主要介绍了ExtJS:向htmleditor添加按钮前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用ExtJS,我的表格中有一个htmleditor.我想为该元素添加一个自定义按钮(例如在对齐,字体权重等所有其他按钮之后).这个按钮基本上应该在htmlfield中插入一个标准模板.作为这个模板html,按钮的行为应该是这样的

>切换到HTML模式(如按Source按钮时)
>插入一些东西
>切换回WYSIWYG模式(比如再次按下Source按钮)

感谢您的关注

解决方法

您无需切换到HTML模式.只需将insertAtCursor函数与HTML模板一起使用即可.

我做了一个简单的例子,说明如何添加插入水平标尺的按钮(< hr>标记):

Ext.ns('Ext.ux.form.HtmlEditor');

Ext.ux.form.HtmlEditor.HR = Ext.extend(Ext.util.Observable,{
    init: function(cmp){
        this.cmp = cmp;
        this.cmp.on('render',this.onRender,this);
    },onRender: function(){
        this.cmp.getToolbar().addButton([{
            iconCls: 'x-edit-bold',//your iconCls here
            handler: function(){
                this.cmp.insertAtCursor('<hr>');
            },scope: this,tooltip: 'horizontal ruler',overflowText: 'horizontal ruler'
        }]);
    }
});
Ext.preg('ux-htmleditor-hr',Ext.ux.form.HtmlEditor.HR);

Ext.QuickTips.init();
new Ext.Viewport({
    layout: 'fit',items: [{
        xtype: 'htmleditor',plugins: [new Ext.ux.form.HtmlEditor.HR()]
    }]
});

你可以看到它运行于:jsfiddle.net/protron/DCGRg/183/

但我真的建议你查看HtmlEditor.Plugins(或者说是ateodorescu/mzExt for ExtJS 4).在那里你可以找到更多关于添加自定义按钮的信息,例如,如何在选择内容时启用/禁用按钮,放置分隔符等.

猜你在找的HTML相关文章