我正在尝试为卡片生成器制作一个动态示例对象。这里的目标是在 asp.net 更新面板中使用 jquery 颜色选择器来选择颜色,所选颜色将出现在卡片框架(一个<div>
对象)上。
正如我在几篇文章中所读到的,保持刷新动态的唯一方法是使用每 100 个 setInterval 计时器更新颜色选择器中选择的颜色,因为选择器将颜色传递给文本框,然后 setInterval 读取信息并更新卡片的颜色。
这是代码,效果很好:
$(document).ready(function () {
setInterval(function () {
var cant = $('input[id$="txtColorFuente"]').val().length;
if (cant >= 6) {
$('div[id$="divMarco"]').css("color", "#" + $('input[id$="txtColorFuente"]').val());
}
cant = $('input[id$="txtColorFondo"]').val().length;
if (cant >= 6) {
$('div[id$="divMarco"]').css("background-color", "#" + $('input[id$="txtColorFondo"]').val());
}
}, 100);
});
DOM 是这样的:
MasterPage,
Body,
Content(inner page),
<asp:UpdatePanel runat="server" ID="updatePanel1" UpdateMode="Conditional">
<ContentTemplate>
<section class="AdminFormLeft">
<asp:Label ID="lblResult" CssClass="message-error" runat="server" Text=""></asp:Label>
<ul>
<li class="labelForm">Color de fondo<br />
<asp:TextBox ID="txtColorFondo" MaxLength="6" runat="server"></asp:TextBox><br /></li>
<li class="labelForm">Color de fuente<br />
<asp:TextBox ID="txtColorFuente" MaxLength="6" runat="server"></asp:TextBox><br /></li>
</ul>
</section>
</ContentTemplate>
<Triggers>
//My triggers here
</Triggers>
</asp:UpdatePanel>
这工作正常,直到更新面板刷新,然后丢失,因为它是重新生成的,所以我必须使用 delegate() 或 on() 函数,但是我所有的尝试都是徒劳的。¿我如何在上面的设置间隔函数上实现委托或函数?谢谢!