AsyncPostBack之后JsColor正在丢失实例
本文关键字:实例 之后 JsColor AsyncPostBack | 更新日期: 2023-09-27 18:22:48
我找到了非常好的颜色选择器jscolor.com来代替AJAX Toolkit提供的颜色选择器。安装真的很简单,但现在我在AsyncPostback方面遇到了麻烦。每当任何控件执行AsyncPostback时,我的ColorPicker都会停止工作,下面是代码:
<asp:TextBox ID="TextColorSample" runat="server" Width="30px"></asp:TextBox>
<asp:TextBox ID="TextColor" runat="server" OnTextChanged="TextColor_TextChanged"></asp:TextBox>
<input type="button" class="color {valueElement:'TextColor',styleElement:'TextColorSample',hash:true,required:false}" />
所以在回发之后,当我按下按钮(选择器应该弹出),TextColorSample失去选择器在回发之前设置的背景颜色时,什么都不会发生。有人能向我解释可能发生的事情以及如何解决吗?
你能试试这个吗?这帮助了我。
<script>
$(document).on('click', '#myPickerId', function () {
var obj = $(this)[0];
if (!obj.hasPicker) {
var picker = new jscolor.color(obj, {}); //
obj.hasPicker = true;
picker.showPicker();
}
});
</script>
在我的例子中,picker控件是动态的,因为它位于Knockout.js的"with"语句中,该语句在需要时隐藏并重新创建picker。
这将使用输入控件重新初始化/绑定颜色标记。
jscolor.init();
在ajax调用成功后调用它。