我需要为某些输入元素添加颜色选择器。 我正在使用
$(".element").colorPicker(){ ... }
这完美无缺。 问题是页面有一个AJAX表单,当提交时,它将用新的表单覆盖前一个表单(新的输入字段等)。之后,colorPicker停止工作。
那么我怎么能将这个功能解雇到新创建的输入呢?
答案 0 :(得分:1)
只需重新附加ajax回调中的调用,因为我不相信有可靠的事件可以用于.live
或.delegate
,而不会泄露更多信息。
答案 1 :(得分:0)
我相信这可行:
$(".element").live('click focus', function () {
var $this = $(this);
if (!$this.data('hasColorPicker')) {
$this.colorPicker({ /* ... */ }).data('hasColorPicker', true);
$this.click(); // trigger the color picker - assuming it binds itself to the click event
}
});
答案 2 :(得分:0)
meder说的很好,但是,如果您通过复制现有元素来创建新元素,请考虑使用$.clone(true)
制作副本,它也将继承现有的事件绑定。