我们的网站正在将它的 jquery 升级到 1.10.2,由于我们之前使用过 colorbox,这带来了一些挑战。首先,我看到的问题是,当用户单击链接以打开颜色框以加载分区时,它第一次工作正常,但第二次颜色框仅显示白页。我一直在调试,但在第一次运行和第二次运行时,我看不出任何设置之间的区别。如果页面重新加载,窗口将第一次再次正常打开,第二次失败。
这是调用颜色框窗口的按钮:
$('#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>
对颜色框脚本本身进行了一些额外的调整,以使其与 jquery 1.10.2 兼容。专门更改脚本中的 $.event.trigger() 行以及其他一些小事。有人可以给我一些关于我如何解决这个问题以找到问题的见解吗?
有一种可能的理论是,颜色框在第一次运行时会从页面中删除分区,因此当用户第二次去获取它时它不再存在。它在内存中的某个地方,可以从那里检索吗?