简单的Jquery所见即所得编辑器问题

发布于 2024-10-20 07:39:10 字数 429 浏览 4 评论 0原文

我有一个名为 jWYSIWYG 的编辑器,它基本上是一个 Jquery 插件。 因此,当我选择一些文本并单击 H1/H2/p 或面板中的其他内容时,我的文本将包含在这些相应的标签中

(例如

My text

) 。

我的简单问题: 如何将特定的类附加到这些标签。我的意思是,每次用户单击 H1 标签按钮时,我希望它生成类似

H1

我知道这一定很简单,如果有人可以提供帮助,那就太好了。

这是我正在使用的项目的链接: https://github.com/akzhan/jwysiwyg

谢谢。

I have this Editor with me called jWYSIWYG, its basically a Jquery Plugin.
So when I select some text and Click on H1/H2/p or whatever from the panel, my text is wrapped up in those corresponding tags

(Eg. <h1>My text</h1>).

My simple question:
How do I attach specific classes to these tags. I mean, each time a user clicks on the H1 tag button, I want it to produce something like

<h1 class="someclassname">H1</h1>

I know this must be simple, if someone could help, would be great.

Here's the link to the project I'm using:
https://github.com/akzhan/jwysiwyg

Thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

美人迟暮 2024-10-27 07:39:10

我知道这是一个旧线程,但我想我应该将我的发现发布给其他人,因为我也在寻找与 jWYSIWYG 类似的调整。

您可以使用“exec”覆盖控件的默认行为。

h1: {
    exec: function () {
        var range = this.getInternalRange(),
            common = $(range.commonAncestorContainer),
            $nodeName = range.commonAncestorContainer.nodeName.toLowerCase();
        if (common.parent('h1').length) {
            common.unwrap();
        } else {
            if ($nodeName !== 'body') {
                common.wrap('<h1 class="someclassname" />');
            }
        }
    }
}

I know this is an old thread, but thought I'd post my findings for others, as I was also looking for a similar tweak to jWYSIWYG.

You can override the default behaviour of controls using "exec".

h1: {
    exec: function () {
        var range = this.getInternalRange(),
            common = $(range.commonAncestorContainer),
            $nodeName = range.commonAncestorContainer.nodeName.toLowerCase();
        if (common.parent('h1').length) {
            common.unwrap();
        } else {
            if ($nodeName !== 'body') {
                common.wrap('<h1 class="someclassname" />');
            }
        }
    }
}
把人绕傻吧 2024-10-27 07:39:10

看一下文档,应该是这样的:

$('#wysiwyg').wysiwyg({
    controls: {
        h1: { className: 'your-class-name' },
        h2: { className: 'your-other-class-name' },
    }
});

looking at the documentation, it should be something like this:

$('#wysiwyg').wysiwyg({
    controls: {
        h1: { className: 'your-class-name' },
        h2: { className: 'your-other-class-name' },
    }
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文