单击具有.redactor
类的div时,请检查它是否已作为所选元素。
如果是新选择的话
initialize_redactor()
destroy_redactor()
。虽然选择了.redactor
div中的任何一个div,但如果点击.redactor
div以外的其他div,则为当前选定的destroy_redactor()
div执行.redactor
。
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>
答案 0 :(得分:1)
我认为您只需要在js中再添加两行
在您检查编辑器是否具有所选类别之后,您将销毁所有.selected
:
if (!$(this).hasClass("selected")) {
destroy_redactor($('.selected'));
然后,如果它已经选择了类,则删除该类
} else {
$('.selected').removeClass('selected');
以下是尝试它的codepen:
答案 1 :(得分:1)
你应该遍历每个“.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);
});