每当我关闭我的simplemodal对话框时,jHtmlArea就会停止工作。
我的代码非常简单
$.modal.close();
即使我单击simplemodal对话框上的关闭按钮,也会发生这种情况。
编辑 我的应用程序使用ASP.NET MVC3和html从按钮单击加载对话框。这意味着我在每次单击按钮时重新创建对话框。也许我不应该这样做。你能建议一个更好的工作流程(也许可以检索原始的Json)。
我已经尝试过Eric建议从onShow调用richtexteditor(jhtmlarea)但结果相同。 我也尝试过另一个富文本编辑器(ckeditor),结果仍然相同。
以下完整代码
$(function () {
console.log("beginning ready() for issuesModal");
console.debug("calling tipTip() from ready()..");
$(".tip").tipTip({ maxWidth: "auto", edgeOffset: 10 });
var issuesModal = {
_targetLink: null,
_descriptionElem: null,
_modal: null,
_modalContainer: $('#basic-modal-content'),
init: function () {
console.debug("issuesModal.init()..");
$("form.edit-issue-form, form.add-issue-form")
.submit(function (evt) {
evt.preventDefault();
hijackForm(this, issuesModal.formLoaded, "html");
});
},
formLoaded: function (data) {
console.debug("issuesModal.formLoaded()..");
issuesModal._modalContainer.html(data);
issuesModal.doModal(issuesModal._modalContainer);
},
doModal: function (elem) {
console.debug("issuesModal.doModal()..");
if (issuesModal._modal !== null) {
$.modal.close();
issuesModal._modal = null;
}
this._modal = $(elem).modal({
onShow: function (dialog) {
console.debug("modal form showing..");
this._descriptionElem = $("#Description");
issuesModal.doWysiwyg(this._descriptionElem);
},
onClose: function (dialog) {
console.debug("modal form closing..");
$.modal.close();
}
});
},
updateUI: function () {
console.debug("issuesModal.updateUI()..");
$(":input[type=submit],[type=reset]").button();
//$("#issue-name-dropdown").css({ width: 400 }).selectmenu().next().css({ height: 50 })
$(":input[type=reset]")
.unbind('click')
.click(
function (evt) {
console.debug("modal form close button clicked..");
evt.preventDefault();
$.modal.close();
}
);
},
doWysiwyg: function (elem) {
console.debug("issuesModal.doWysiwyg()..");
$(elem).htmlarea();
}
};
issuesModal.init();
issuesModal.updateUI();
});
答案 0 :(得分:0)
您没有提供任何代码,因此我只能猜测解决方案......
通过SimpleModal的工作方式,我建议在onShow回调中初始化任何第三方库。
$('#element').modal({
onShow: function (d) {
$('textarea', d.data[0]).jHtmlArea(); // general idea, actual syntax may vary
}
});
HTH