【问题标题】:NyroModal doesn't close correctlyNyroModal 无法正确关闭
【发布时间】:2012-01-27 02:17:25
【问题描述】:

这是一个示例代码。

$(".remove.group").live("click", function (ev) {
    var button = $(ev.currentTarget);
    var action = button.get(0).dataset["action"];
    var method = button.get(0).dataset["method"];
    var modal = $("#remove");
    modal.find(".primaryaction").bind("click", function (e) {
        $.ajax({
            url: action,
            type: method,
            dataType: "xml",
            success: function (rawResponse, status, xhr) {
               //some business logic
                $.nmTop().close();
            },
            error: function (xhr) {
                console.log(arguments);

                var message = "Could not remove group";
                alert(message);
                $.nmTop().close();
            }
        });
    });
    modal.find(".cancelButton").bind("click", function (e) {
        $.nmTop().close();
    });
    $.nmManual("#remove");

    return false;
});

我在这里使用nyroModal 和 jQuery。

所有点击事件第一次正常工作。但是,如果我再次重新打开模式并单击任一按钮,nyroModal 最终会引发错误:

this.elts.cont 未定义

【问题讨论】:

    标签: jquery nyromodal


    【解决方案1】:

    如果您查看调试版本,我通过添加 elts 存在测试解决了这个问题。

           _unreposition: function() {
                if (this.elts.length) {
                   this.elts.cont.css('overflow', '');
                   var elts = this.elts.all.find('.nmReposition');
                   if (elts.length)
                       this.elts.cont.append(elts.removeAttr('style'));
                }
                this._callFilters('afterUnreposition');
            }
    

    【讨论】:

      【解决方案2】:

      为了完整起见,请执行 @Sparkx 所做的操作,但后来我又遇到了一个错误,即“TypeError:nm.elts.cont 未定义”。要修复此更改:

      hideCont: function(nm, clb) {
        nm.elts.cont.css('overflow', 'hidden').fadeOut(clb);
      

      到:

      hideCont: function(nm, clb) {
        if(nm.elts.cont) nm.elts.cont.css('overflow', 'hidden').fadeOut(clb);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-04
        相关资源
        最近更新 更多