非常简单的Rich Text / WYSIWYG编辑器

时间:2011-10-05 16:06:11

标签: richtextbox wysiwyg jwysiwyg

我正在为我的论坛寻找一个非常简单的编辑器。

我只对基本功能感兴趣,例如粗体,斜体,下划线,块引用 - 仅此而已。 另一个重要特性是当用户将格式化文本粘贴到textarea中时,应删除所有标记。

我熟悉TinyMCE,CKEditor和其他一些“大”编辑,但我认为为这些基本功能实现这么大的“框架”实在太过分了。

我看过“类似的问题”,但我认为没有一个建议的编辑很简单......

你知道吗?

1 个答案:

答案 0 :(得分:0)

  

很难定义"简单"。

有许多rich text editors可以提供您想要在工具栏中显示哪些按钮的功能。

查看具有基本功能的this最小测试编辑器示例:粗体,斜体和热键下划线。

或者查看execCommands的另一个示例,您可以使用它来制作自己的简化文本编辑器。您可以控制按钮工具栏等的设计。它有一个命令列表和这个非常小的代码,可以将它们转换为富文本编辑器。

angular.module("myApp", [])
    .directive("click", function () {
        return {
            restrict: "A",
            link: function (scope, element, attrs) {
                element.bind("click", function () {
                    scope.$evalAsync(attrs.click);
                });
            }
        };
    })
    .controller("Example", function ($scope) {
        $scope.supported = function (cmd) {
            var css = !!document.queryCommandSupported(cmd.cmd) ? "btn-succes" : "btn-error"
            return css
        };
        $scope.icon = function (cmd) {
            return (typeof cmd.icon !== "undefined") ? "fa fa-" + cmd.icon : "";
        };
        $scope.doCommand = function (cmd) {
            if ($scope.supported(cmd) === "btn-error") {
                alert("execCommand(“" + cmd.cmd + "”)\nis not supported in your browser");
                return;
            }
            val = (typeof cmd.val !== "undefined") ? prompt("Value for " + cmd.cmd + "?", cmd.val) : "";
            document.execCommand(cmd.cmd, false, (cmd.val || ""));
        }
        $scope.commands = commands;
        $scope.tags = [
    'Bootstrap', 'AngularJS', 'execCommand'
  ]
    })