Extjs HtmlEditor - 编号列表和项目符号列表

Posted

技术标签:

【中文标题】Extjs HtmlEditor - 编号列表和项目符号列表【英文标题】:Extjs HtmlEditor - Numbered list and bullet list 【发布时间】:2013-07-12 07:46:49 【问题描述】:

我尝试在 http://jsfiddle.net/WEEU3/ 中使用 htmlEditor 但是,当我选择编号列表或项目符号列表键入时,我按 Enter 键盘。好像

我觉得像

1. first
2. second
3. third

当我专注于第三。我按到未编号。我觉得像

    1. first
    2. second
third

但所有单词都不会编号 如何解决。非常感谢

【问题讨论】:

【参考方案1】:

看起来 4.1.1 上的 htmleditor 存在错误。此外,您不应该使用 new 来创建 ExtJS 对象。这将导致其他 ExtJS 问题。

升级到 4.2.x 将解决您的 htmleditor 问题。

您的代码应该有更好的格式。您还应该使用适当的 ExtJS 方法来获取项目,即:

Ext.create('Ext.form.Panel',   // should be using Ext.create(), not new
    title: 'HTML Editor',
    width: 500,
    bodyPadding: 10,
    renderTo: Ext.getBody(),
    items: [
        xtype: 'htmleditor',
        name: 'editor',
        enableColors: true,
        enableAlignments: false,
        enableLists: true,
        enableSourceEdit: false,
        anchor: '100%'
    ],
    dockedItems: [
        xtype: 'toolbar',
        items: [
            xtype: 'button',
            text: 'Get HTML',
            handler: function(btn) 
                // example of getting all form values
                console.log(btn.up('form').getForm().getValues()); 

                // proper example of getting by component
                alert(btn.up('form').down('htmleditor').getValue());
            
        ]
    ]
);

【讨论】:

使用new 是完全可以接受的,甚至是性能方面的首选。从 4.1 开始,ExtJS 类都在内部使用 new 而不是 Ext.create() 正是出于这个原因。 谈论propper Ext方法来获取组件然后使用getCmp更糟糕...... 是的,你真的应该使用 .up()、.down()、.prev() 等。 @sra:每条评论已修复。 如果您使用动态类加载,那么您必须使用 Ext.create()。如果您使用的是新的,您最好知道是否已经加载了任何必需的类。

以上是关于Extjs HtmlEditor - 编号列表和项目符号列表的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Extjs4 表单中填写 HtmlEditor xtype

Extjs 3.0 htmleditor实现插入图片功能

ExtJS 创建一个类似于 *** 编辑器的组件

Sharepoint 2010列表视图阈值和项级别权限

extjs 4.1 如何在 xtemplate 中显示编号和项目符号

如何安全使用fineui htmleditor