在流星中使用wysiwyg满足

时间:2014-11-23 01:32:14

标签: meteor wysiwyg redactor.js

我试图使用redactor.js来编辑流星中的一些div; 在我的模板中:

<template name="home">
    <section class="editable">
    </section>
    ...
</template>

并在js:

Template.home.events({
    "click section.editable": function(event) {
        $(event.target).redactor();
    },
});

当我点击该部分时,这会正确创建redactor所见即所得的编辑器;问题是再次点击,另一个编辑器(嵌套在前一个编辑器中);我只是在编辑器不存在的情况下才试图限制redactor()方法的执行。

1 个答案:

答案 0 :(得分:0)

你可以将状态包装在会话变量中吗?当然,一旦编辑完成后你就需要再次设置它(可能会尝试挂钩进入模糊事件?)

Template.home.events({
    "click section.editable": function(event) {
        var isEditorActive = Session.get("editorActive", false);
        if (!isEditorActive) {
            Session.set("editorActive",true);
            $(event.target).redactor({
                blurCallback: function(e)
                {
                    Session.set("editorActive",false);
                    this.core.destroy(); // destroy redactor ?
                }
            });
        }
    }
});
  

<强> PREVIOUSLY:

     

您是否有特殊原因想要使用流星事件?你可以使用redactor。

     
if (Meteor.isClient) {
    Meteor.startup(function() {
        $('section.editable').redactor({
            focus: false
        });
    });
}