带有下标和上标的bootstrap wysihtml5

时间:2012-11-27 19:19:02

标签: twitter-bootstrap wysihtml5

对于我的Bootstrap网站,我想使用wysihtml 5 editor。但是那个默认情况下不支持super- /下标。

我为编辑添加了这一行:

<a class='btn' data-wysihtml5-command='superscript'>superscript</a>

以下代码是用于bootstrap的wysihtml5编辑器源代码的一部分:

dom.delegate(container, "[data-wysihtml5-command]", "click", function(event) { var link = this, command = link.getAttribute("data-wysihtml5-command"), commandValue = link.getAttribute("data-wysihtml5-command-value"); that.execCommand(command, commandValue); event.preventDefault(); });

默认情况下它适用于所有内容,但不适用于上标和下标。

谷歌给了我一些结果,我必须使用execCommand并将commandValue设置为false,但这也无效。

有人确实知道如何使其工作,它会添加/代码吗?

3 个答案:

答案 0 :(得分:3)

尝试SUP而不是SUPERSCRIPT

答案 1 :(得分:3)

将以下代码添加到源https://github.com/xing/wysihtml5/blob/master/dist/wysihtml5-0.3.0.js

用sup和sub修改wysihtm5

来自源头的第6876行

(function (wysihtml5) {
    var undef;

    wysihtml5.commands.sub = {
        exec: function (composer, command) {
            return wysihtml5.commands.formatInline.exec(composer, command, "sub");
        },

        state: function (composer, command, color) {
            // element.ownerDocument.queryCommandState("bold") results:
            // firefox: only <b>
            // chrome:  <b>, <strong>, <h1>, <h2>, ...
            // ie:      <b>, <strong>
            // opera:   <b>, <strong>
            return wysihtml5.commands.formatInline.state(composer, command, "sub");
        },

        value: function () {
            return undef;
        }
    };
})(wysihtml5);
(function (wysihtml5) {
    var undef;

    wysihtml5.commands.sup = {
        exec: function (composer, command) {
            return wysihtml5.commands.formatInline.exec(composer, command, "sup");
        },

        state: function (composer, command, color) {
            // element.ownerDocument.queryCommandState("bold") results:
            // firefox: only <b>
            // chrome:  <b>, <strong>, <h1>, <h2>, ...
            // ie:      <b>, <strong>
            // opera:   <b>, <strong>
            return wysihtml5.commands.formatInline.state(composer, command, "sup");
        },

        value: function () {
            return undef;
        }
    };
})(wysihtml5);

并在来自源<72>的第7291行之后

    "sub":    "sub",
    "sup":    "sup"

并在来自源<8>的第8441行之后

    "83": "sub", // S
    "80": "sup" // P

答案 2 :(得分:0)

我想扩展上面的例子,你应该在parserRules的bootstrap-wysihtml5.js添加以下内容:

tags: {
                "sub":{},
                "sup":{}..