jQuery - 在元素上触发函数

时间:2010-10-04 01:16:51

标签: javascript jquery javascript-events

我需要为某些输入元素添加颜色选择器。 我正在使用

$(".element").colorPicker(){ ... }

这完美无缺。 问题是页面有一个AJAX表单,当提交时,它将用新的表单覆盖前一个表单(新的输入字段等)。之后,colorPicker停止工作。

那么我怎么能将这个功能解雇到新创建的输入呢?

3 个答案:

答案 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)制作副本,它也将继承现有的事件绑定。