在AsyncPostBack之后,JsColor丢失了实例

时间:2012-02-04 16:15:26

标签: c# javascript asp.net jscolor

我找到了非常好用的颜色选择器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在Postback之前丢失选择器设置的背景颜色时,没有任何事情发生。任何人都可以向我解释可能发生的事情以及如何解决它?

2 个答案:

答案 0 :(得分:0)

你可以尝试一下吗?这帮助了我。

<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>

在我的例子中,选择器控件是动态的,因为它位于Knockout.js'with'语句中,该语句在需要时隐藏并重新创建选择器。

答案 1 :(得分:0)

使用输入控件重新初始化/重新绑定颜色纠察队。

jscolor.init();

在ajax调用成功后调用它。