首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >回发后,CSS样式未重新应用于jQuery对话框

问回发后,CSS样式未重新应用于jQuery对话框
EN

Stack Overflow用户
提问于 2011-11-10 02:35:27
回答 1查看 1.8K关注 0票数 2

我有一个常用的jQuery对话框div,其中包含一个包装在updatepanel中的数据输入用户控件。它看起来很棒,直到第一次回发。在此之后,根本不应用任何样式。(控件保留其值,事件继续按预期运行。)关闭对话框后,如果存在回发,则后续的.dialog("open")调用不会应用任何样式。

代码语言:javascript
复制
    $(function () {
        var dlg = jQuery("#EventMod").dialog({
            autoOpen: false
            , modal: true
        });
        dlg.parent().appendTo(jQuery("form:first"));  

        $(".NewEvent").click(function () {
            $("#EventMod").dialog("open");
            return false;
        });
    });

对话框div在这里:

代码语言:javascript
复制
<div id="EventMod" title="Event Modify" class="ui-helper-hidden">
    <asp:UpdatePanel ID="updNewEvent" runat="server">
        <ContentTemplate>
            <uc1:EventEdit ID="NewEvent" runat="server" />
        </ContentTemplate>
    </asp:UpdatePanel>
</div>

在用户控件中,类不是动态分配的,它们看起来像这样:

代码语言:javascript
复制
    <table class="NewEvent" >
        <tr>
            <td align="center">
                <table class="Event">
                    <tr class="Title">
                        <th width="55">
                            <strong>Event #</strong>
                        </th>
    ... snip ...

我在父页面中链接了样式表。我也尝试将其添加到用户控件中,但没有可见的结果。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-10 02:58:11

我以前遇到过这样的怪事,为了在UpdatePanel中获得稳定的结果,我不得不这样做

代码语言:javascript
复制
   $(function () {

        var titleText="This is the title"
        var key = "uniqueId";
        var newParentDiv= "#" + key;
        var div = $("<div title='" + titleText + "' id='" + key+ "'></div>");
        $('body').append(div);
        $(newParentDiv).html($("#EventMod").html());

        var dlg = jQuery(newParentDiv).dialog({
            autoOpen: false
            , modal: true
        });
        dlg.parent().appendTo(jQuery("form:first"));  

        $(".NewEvent").click(function () {
            $(newParentDiv).dialog("open");
            return false;
        });
   });

对我来说,问题在于jQuery对话框实际上将内容移动到DOM中的新位置。如果发生了不能更新jQuery UI放置对话框的DOM的部分回发,它就会变得陈旧或挂起。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8069794

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档