如果我在模式中使用wysihtml5,则当我使用使用wyshtml5的形式打开模式时,它第一次运行良好。但是,当我关闭模式,然后第二次打开它时,则wysihtml5功能不起作用,它仅显示文本区域,而不显示工具箱和iframe。如果我关闭模型,并再次打开它的工作文件作为第一次。第四次出现相同的问题。换句话说,wysihtml5在引导模态中交替工作。这是wysihtml5错误,或者我做错了什么?
$(document).ready(function(e) {
$('#description').wysihtml5();
});
<div class="modal-body">
<div class="alert alert-danger error_block" style="display: none"></div>
<form action="#" id="post_updt" novalidate="novalidate" enctype="multipart/form-data">
<div class="row">
<div class="col-md-8">
<div class="form-group">
<label class="control-label">
<h4>Title <span class="required" aria-required="true">* </span></h4>
</label>
<div class="controls">
<input type="text" placeholder="Post Title" id="post_title" name="post_title" class="col-md-12 form-control" required="true" value="">
</div><label id="post_title-error" class="help-block help-block-error" for="post_title"></label>
</div>
</div>
<div class="form-group post_description">
<label class="control-label">
<h4>Description</h4>
</label>
<div class="controls">
<textarea id="description" name="description" style="width: 100%; height: 200px; font-size: 14px; line-height: 18px; border: 1px solid #dddddd; padding: 10px;"></textarea>
</div>
</div>
<div class="form-group event_dates hide">
<label class="control-label">
<h4>Event Dates <span class="required" aria-required="true">* </span></h4>
</label>
<div class="controls">
<input type="text" placeholder="Event Dates" id="event_dates" name="event_dates" class="col-md-12 form-control">
</div>
</div>
</form>
$(document).ready(function(e) {
$("#post_type").change();
$('#description').wysihtml5();
});
$("#post_type").on('change', function () {
var vl = $(this).val();
$("#file_url").removeAttr("required");
if (vl == 'Event') {
$(".event_dates").removeClass("hide");
$(".upld_document,.post_description").addClass("hide");
} else if (vl == 'Document') {
if($("#old_file").val()==""){
$("#file_url").attr("required","true");
}
$(".upld_document").removeClass("hide");
$(".post_description,.event_dates").addClass("hide");
} else {
$(".upld_document,.post_description").removeClass("hide");
$(".event_dates").addClass("hide");
}
});
是,有一个错误。在模式中使用wysihtml5时,应在显示的模式中对其进行初始化,而在模式消失时将其删除。
jQuery(document).ready(function () {
$('#modal_Event').on('shown', function () {
$('#description').wysihtml5();
});
$('#modal_Event').on('hidden', function () {
$('.wysihtml5-sandbox, .wysihtml5-toolbar').remove();
$('#description').show();//optional
});
});