Наш сайт обновляет свой jquery до версии 1.10.2, и, поскольку мы ранее использовали colorbox, это создает несколько проблем. Прежде всего, проблема, которую я вижу, заключается в том, что когда пользователь щелкает ссылку, чтобы открыть цветовую панель с намерением загрузить раздел, она работает нормально в первый раз, но во второй раз цветная панель отображает только белую страницу. Я занимался отладкой, но не вижу разницы между какими-либо настройками при первом запуске и при втором. Если страница перезагружается, окно снова откроется в обычном режиме в первый раз, а во второй раз с ошибкой.
Вот кнопка, которая вызывает окно 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>
В сам скрипт colorbox были внесены некоторые дополнительные изменения, чтобы сделать его совместимым с jquery 1.10.2. В частности, изменение строк $.event.trigger() внутри скрипта вместе с парой других мелких вещей. Может ли кто-нибудь дать мне некоторое представление о том, как я могу решить эту проблему, чтобы найти проблему?
Существует возможная теория о том, что цветовое поле удаляет разделение со страницы при первом запуске, и поэтому, когда пользователь переходит к нему во второй раз, оно больше не существует. Он где-то в памяти, можно ли его оттуда достать?