如何仅从模式删除背景

Luc*_*ito 3 javascript c# asp.net jquery twitter-bootstrap

我目前正在使用twitter bootstrap,最近我遇到了一个问题,即关闭模式时背景不关闭。

解决:

 $('.modal-backdrop').hide();
Run Code Online (Sandbox Code Playgroud)

该解决方案的问题是,它从整个页面中删除了背景。当页面加载某些功能时,我仍然需要它,以便用户在此过程中不会选中或取消选中某个字段。

下面是模态代码:

    <div class="modal fade" id="myModal" role="dialog">
        <div class="modal-dialog ">
            <!-- Modal content-->

            <div class="modal-content">
                <div class="modal-header">
                    <asp:HiddenField ID="hfImg" runat="server" />
                </div>
                <div class="modal-body" style="overflow: auto; align-content: center;">
                    <div class="col-sm-12">

                        <div id="views"></div>

                    </div>
                </div>
                <div class="modal-footer">
                    <div class="row">
                        <div class="col-sm-12">
                            <div class="col-sm-1 pull-left">
                                <button type="button" class="btn btn-primary" data-dismiss="modal";">Cancelar</button>
                            </div>
                            <div class="col-sm-1 col-sm-offset-8">
                                <button id="cropbutton2" class="btn btn-primary pull-right" type="button" onclick="applyCrop();">Cut</button>
                            </div>
                            <div class="col-sm-1 col-sm-offset-1">
                                <asp:Button runat="server"  CssClass="btn btn-primary pull-right" ID="save" Text="Edit" OnClick="btnEdit_Click" />
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
Run Code Online (Sandbox Code Playgroud)

保存按钮后面的C#:

     btnEdit_Click(object sender, EventArgs e) 
     {
      ...
      ...
      ...
      ...
      ...
      ScriptManager.RegisterClientScriptBlock(this.Page, this.Page.GetType(), "modal", "closeModal();", true);
      }
Run Code Online (Sandbox Code Playgroud)

还有CloseModal()的javascript:

      function closeModal() {
        $('.modal-backdrop').hide();
        $('body').removeClass('modal-open');
        $('#myModal').modal('hide');
        $('#<%=hfImg.ClientID%>').val("");
    }
Run Code Online (Sandbox Code Playgroud)

有人可以帮助我,我没有使用此框架太多的经验,甚至不知道这是在正确的道路正在做。

附:此页面是一个ascx

编辑:我正在工作的该项目是旧的,并且在开发过程中没有工作。

但是现在我只是给它一点支持和维护。原来这里存在架构问题。最初的开发者试图使workarround以使更新面板内的所有这些控件的fullpostbacks的页面总是做在客户控制结构。

由于涉及的技术(Ajax和东西),他们不希望每次用户-客户端检查或取消选中某项内容或在另一个选项卡中打开子菜单时都进行完整的回发。因此,它们使页面看起来仍然像页面一样,只在更新面板上进行了很少的更新。

为此,背景是在“母版”上定义的。

唯一的情况是我的引导程序失去了对它之前所引用的真实对象的引用,因为只要您进行任何更改(包括关闭模式),页面都会获得回发。因此,当我在模式背景下执行.hide或.remove时,引导实际上是针对它可以找到的唯一参考,因此是在母版页上定义的。

因此,由于这比我们处理的工作量大得多,并且耗费了更多的时间,因此我们决定使用数据背景:模态标记为false,使模态没有背景。

谢谢大家的帮助。

Rah*_*ath 5

简单,将data-backdrop="false"按钮触发模型或

$("#myBtn2").click(function(){
    $("#myModal").modal({backdrop: false});
});
Run Code Online (Sandbox Code Playgroud)

这里是充分借鉴