【问题标题】:simplemodal conflict with jhtmlareasimplemodal 与 jhtmlarea 冲突
【发布时间】:2011-03-31 01:03:21
【问题描述】:

每当我关闭我的 simplemodal 对话框时,jHtmlArea 都会停止工作。 我的代码很简单 $.modal.close();

即使我单击简单模式对话框上的关闭按钮也会发生这种情况。

感谢您的帮助。

编辑 我的应用程序正在使用 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();

});

【问题讨论】:

    标签: jquery dialog popup simplemodal jhtmlarea


    【解决方案1】:

    你没有提供任何代码,所以我只能猜测解决方案......

    根据 SimpleModal 的工作方式,我建议在 onShow 回调中初始化任何第 3 方库。

    $('#element').modal({
        onShow: function (d) {
            $('textarea', d.data[0]).jHtmlArea(); // general idea, actual syntax may vary
        }
    });
    

    HTH

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-13
      • 2013-04-29
      • 1970-01-01
      • 2017-12-09
      • 2013-10-21
      • 2020-08-19
      • 2010-12-10
      • 2018-04-02
      相关资源
      最近更新 更多