如果之前未选择元素,则执行功能

Execute function if the element was not selected before

点击div和.redactorclass时,检查是否已经为选中元素

样本在 codepen.io

html:

<div id="toolbar_wrapper">
  <div id="toolbar">
  </div>
</div>

<div id="content">
  <div class="redactor">
    <h1>Header</h1>
    <p>Paragraph</p>
  </div>

  <div class="redactor">
    <h1>Another Header</h1>
    <p>Another Paragraph</p>
  </div>
</div>

我认为你只需要在你的 js 中再添加两行

你将销毁所有 .selected 在你检查编辑器是否有 class 个选择后:

if (!$(this).hasClass("selected")) {
    destroy_redactor($('.selected'));

然后,如果它已经选择了 class,请删除 class

} else {
    $('.selected').removeClass('selected');

这里是试用代码笔:

http://codepen.io/anon/pen/vNEBNv

您应该循环遍历每个“.redactor”元素并 运行 destroy_redactor 选定元素:

$('.redactor').on("click", function() {
    $(".redactor").each(function () {
        if($(this).hasClass("selected"))
        {
             destroy_redactor(current_edit);
             $(this).removeClass("selected");
        }
    });

    $(this).addClass("selected");
    current_edit = $(this);
    initialize_redactor(current_edit);
});