在kendo编辑器中创建自定义按钮

时间:2017-05-18 06:20:39

标签: javascript kendo-ui telerik kendo-asp.net-mvc kendo-editor

我正在使用kendo editor。当我想为多行创建项目列表时,遇到问题(见图)

image 为了解决这个问题,我创建了自定义按钮:

 {
                name: "custom",
                tooltip: "Insert a List",
                exec: function(e) {
                    var editor = $(this).data("kendoEditor");
                    var selectedText = editor.getSelection().toString();
                    if (selectedText.length > 0) {
                        var list = selectedText.split("\n").join("</li><li>");
                        list = "<ul><li>" + list.substring(0, list.length - 5) + "</ul>";
                    }
                    editor.exec("inserthtml", { value: list });
                }
            }

这个代码在选择整行文本时工作正常,但是当选择一行的一部分(不是整行只是行的某个字符)时,列表项不是从行的起点创建的。

1 个答案:

答案 0 :(得分:0)

在对Selection对象执行toString()之前,需要使用Selection和Range API来获取完整的文本节点,然后应用拆分。

https://developer.mozilla.org/en-US/docs/Web/API/Selection

https://developer.mozilla.org/en-US/docs/Web/API/Range