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失去选择器在回发之前设置的背景颜色时,什么都不会发生。有人能向我解释可能发生的事情以及如何解决吗?

AsyncPostBack之后JsColor正在丢失实例

你能试试这个吗?这帮助了我。

<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调用成功后调用它。