1

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

我为编辑器添加的这一行:

<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(); });

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

谷歌给了我结果,我必须使用将 commandValue 设置为 false 的 execCommand,但这也不起作用。

有人确实知道如何让它工作,它将/添加到代码中?

4

3 回答 3

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);

并在源代码的第 7291 行之后

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

并在源代码的第 8441 行之后

    "83": "sub", // S
    "80": "sup" // P
于 2013-04-30T17:09:45.503 回答
3

尝试 SUP 而不是 SUPERSCRIPT

于 2012-11-30T18:59:31.960 回答
0

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

tags: {
                "sub":{},
                "sup":{}..
于 2018-05-17T09:27:23.143 回答