ColorBox中的分区没有用JS 1.10.2加载两次

时间:2013-10-25 20:30:22

标签: jquery colorbox

我们的网站正在将它的jquery升级到1.10.2,因为我们以前使用过彩盒,所以这提出了一些挑战。首先,我看到的问题是,当用户点击链接打开彩盒以加载分部时,它第一次正常工作,但第二次彩盒只显示白页。我一直在调试,但是当第一次运行和第二次运行时,我看不出任何设置之间的区别。如果重新加载页面,窗口将首次正常打开,第二次失败。

以下是调用颜色框窗口的按钮:

   $('#btn_Detail').click(function (e) {
       $('#div_Detail input:text').val('');
       $('#div_Detail input:radio:checked').removeAttr('checked');
       $('#div_Detail select').val('');
       $('#div_Detail textarea').val('');

       if ($('#hid_ID').val() != '') {
             $.colorbox({ href: '#div_Detail', width: '650px', height: '300px', inline: true });
       }
   }

以下是它正在开放的部门:

   <div id="div_Detail">
    <div>
    <ul>
        <li>
            <label>Type<span class="req">*</span></label>
            <asp:DropDownList ID="ddl_Detail_Type" runat="server" />
        </li>
        <li>
            <label>ID<span class="req">*</span><em>(Make,Model,Serial #, Vin #,Building #)</em></label>
            <asp:TextBox ID="txt_Detail_Id" runat="server" style="overflow:visible;" />
        </li>
        <li>
            <label>Description:<span class="req">*</span></label>
            <asp:TextBox TextMode="MultiLine" Rows="2" ID="txt_Detail_Desc" Width="300px" runat="server" />
        </li>
        <li>
            <label>Damage:<span class="req">*</span></label>
            <asp:DropDownList ID="ddlDamage" runat="server"></asp:DropDownList>
        </li>
        <li>
            <label>Owning Property</label>
            <input type="text" id="txt_OwnMaterial" name="txt_OwnMaterial" style="overflow:visible;" />
            <a id="a_OwnMaterial" href="#"><img alt="" src="/images/TinyButton.gif" /></a>
            <input type="hidden" id="hid_ActOwnMaterialID" name="txt_ActOwnMaterial" />
        </li>
        <li>
            <label>Owned By<span class="req">*</span></label>
            <asp:DropDownList ID="ddl_Detail_OwnBy" runat="server" />
        </li>
    </ul>
    <asp:Button ID="btn_AddUpdate" runat="server" CssClass="yes_btn cancel" Text="Add"  />
    </div>

对colorbox脚本本身进行了一些额外的调整,使其符合jquery 1.10.2。特别是更改脚本中的$ .event.trigger()行以及其他一些小的东西。有人可以给我一些见解,我怎么能麻烦拍这个找到问题?

有一种可能的理论认为,当第一次运行时,颜色框正在从页面中删除分割,因此当用户第二次不再存在时,它就会从页面中删除它。它是在记忆中的一些地方,可以从那里检索吗?

1 个答案:

答案 0 :(得分:0)

在一些帮助下,答案是偶然发现的,它与ColorBox脚本中的触发器功能有关。在旧的ColorBox脚本中,不推荐使用event.trigger调用,因此必须更改脚本以专门调用那些需要触发器的项目。这恰好是其中之一,所以为了解决这个问题,我们将以下行添加到colorbox.js文件中的触发器函数中:

$('[id * = cbox]',$ div).add($ div).trigger(event);