CKEDITOR中的文本占位符(角度上下文)

用户名

我对CKEDITOR API不太熟悉,现在我被困在尝试寻找在CKEDITOR可编辑区域内创建占位符的方法。占位符的预期行为-在用户与其交互时消失,允许编辑内容反而。

我知道已经有一个占位符插件(http://ckeditor.com/addon/placeholder),但是它的行为不是我想要的。

更具体地说,问题是:是否可以在CKEDITOR内的特定元素上订阅一些事件?

在角度上下文中工作,我能够在将html传递给CKEDITOR ng-model之前对其进行编译

$scope.html = $compile('<div><span text-placeholder >Placeholder</span></div>')($scope).html();

但是然后我无法尝试在指令中设置点击事件:

.directive('textPlaceholder', [ function () {
    return {
        restrict: 'A',
        link: function ($scope, $element) {
            //THIS DOES NOT WORK UNFORTUNATELY
            $element.on('click', function () {
                console.log('clicked');
            })
        }
    }
}])

有什么想法吗?

更新:现在我想出了实现简单插件的解决方案,然后在CKEDITOR配置中引用它:

(function () {
CKEDITOR.plugins.add('text-placeholder', {
    init: function (editor) {

        editor.on('key', function (evt) {
            var el = $(CKEDITOR.instances.editor1.getSelection().getNative().baseNode.parentElement);
            if (el.hasClass('text-placeholder')) {
                el.remove();
            }
        });

    }
});

})();

为我看起来很丑。任何反馈表示赞赏。

用户名

这似乎是最终的解决方案:

CKEDITOR.plugins.add('text-placeholder', {
    init: function (editor) {
        editor.on('contentDom', function () {
            var editable = editor.editable();
            editable.attachListener(editable, 'click', function (event) {
                var $placeholder = $(event.data.$.target).closest('.text-placeholder');
                if ($placeholder.length > 0) {
                    var selection = editor.getSelection();
                    selection.selectElement(selection.getStartElement());
                }
            });
        });
    }
});

当用户将选择集中在可编辑区域内时,会将选择应用于“文本占位符”类的元素

更新: 请参见示例

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从非角度上下文(例如 D3 事件)触发角度变化?

来自分类Dev

轻度上下文相关文法

来自分类Dev

轻度上下文相关文法

来自分类Dev

Spring上下文错误:SAXParseException cvc-complex-type.3.2.2忽略无法解析的上下文:属性占位符

来自分类Dev

春季-“上下文:属性占位符”-属性优先级

来自分类Dev

Spring XML上下文:Java Spring Boot配置的属性占位符

来自分类Dev

初始化上下文:属性占位符取决于 Maven 配置文件

来自分类Dev

如何在当前上下文中设置跨度上下文?

来自分类Dev

MDX计算的成员维度上下文

来自分类Dev

在R中替换文本上下文

来自分类Dev

在R中替换文本上下文

来自分类Dev

如何在单个测试类中加载 2 个带有属性占位符的 Spring 上下文配置

来自分类Dev

CKEDITOR 4:如何重用上下文子菜单中已经可用的图标?

来自分类Dev

CKEditor在上下文菜单(嵌套)中添加“格式”组合项

来自分类Dev

Android从当前上下文获取文本

来自分类Dev

占位符在文本中的样式

来自分类Dev

如何在上下文无关文法中判断运算符的优先级

来自分类Dev

在Eclipse的上下文菜单中添加行分隔符

来自分类Dev

逗号运算符会影响Javascript中的执行上下文吗?

来自分类Dev

在Eclipse的上下文菜单中添加行分隔符

来自分类Dev

isGooglePlayServicesAvailable的上下文(上下文上下文)

来自分类Dev

JavaScript中的执行上下文

来自分类Dev

片段上下文菜单中的ListView

来自分类Dev

JavaScript中的隔离执行上下文

来自分类Dev

在$ .each()中更改上下文

来自分类Dev

选项(⌥)+可可中的上下文菜单?

来自分类Dev

在回调中控制“ this”上下文

来自分类Dev

Spock测试中的上下文配置

来自分类Dev

了解Spring MVC中的上下文

Related 相关文章

  1. 1

    如何从非角度上下文(例如 D3 事件)触发角度变化?

  2. 2

    轻度上下文相关文法

  3. 3

    轻度上下文相关文法

  4. 4

    Spring上下文错误:SAXParseException cvc-complex-type.3.2.2忽略无法解析的上下文:属性占位符

  5. 5

    春季-“上下文:属性占位符”-属性优先级

  6. 6

    Spring XML上下文:Java Spring Boot配置的属性占位符

  7. 7

    初始化上下文:属性占位符取决于 Maven 配置文件

  8. 8

    如何在当前上下文中设置跨度上下文?

  9. 9

    MDX计算的成员维度上下文

  10. 10

    在R中替换文本上下文

  11. 11

    在R中替换文本上下文

  12. 12

    如何在单个测试类中加载 2 个带有属性占位符的 Spring 上下文配置

  13. 13

    CKEDITOR 4:如何重用上下文子菜单中已经可用的图标?

  14. 14

    CKEditor在上下文菜单(嵌套)中添加“格式”组合项

  15. 15

    Android从当前上下文获取文本

  16. 16

    占位符在文本中的样式

  17. 17

    如何在上下文无关文法中判断运算符的优先级

  18. 18

    在Eclipse的上下文菜单中添加行分隔符

  19. 19

    逗号运算符会影响Javascript中的执行上下文吗?

  20. 20

    在Eclipse的上下文菜单中添加行分隔符

  21. 21

    isGooglePlayServicesAvailable的上下文(上下文上下文)

  22. 22

    JavaScript中的执行上下文

  23. 23

    片段上下文菜单中的ListView

  24. 24

    JavaScript中的隔离执行上下文

  25. 25

    在$ .each()中更改上下文

  26. 26

    选项(⌥)+可可中的上下文菜单?

  27. 27

    在回调中控制“ this”上下文

  28. 28

    Spock测试中的上下文配置

  29. 29

    了解Spring MVC中的上下文

热门标签

归档