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