使JEditable在新元素上工作(.live)

Eda*_*aor 6 javascript jquery jeditable

我正在使用JEditable插件进行就地编辑.

我有一个"设置"功能,可以调用.editable()所有相关的类.问题是,我新添加了我想要编辑的元素.显然,新添加的内容.editable()永远不会被调用.

换句话说,我希望得到jquery live()函数的效果,但是对于editable()函数.

我当前的解决方法对我来说似乎有点难看(redscribe_button是需要单击以编辑文本的按钮):

$(".redescribe_button").live("click", function(click_event) {
    click_event.preventDefault();

    $(".editable", $(this).parent().parent()).editable("/temp/", {
        event: "make_editable",
        indicator : 'Saving...',
        tooltip   : 'Click to edit...'
    });

    $(".editable", $(this).parent().parent()).trigger('make_editable');
});
Run Code Online (Sandbox Code Playgroud)

换句话说,每次单击编辑按钮时,我只是调用.editable.

想要更好的解决方案吗?

Nao*_*den 5

我刚刚也提到了这个问题并以更优雅的方式解决了它(恕我直言).

$('.jqEdit').live('click',function(event) {
    event.preventDefault();
    $(this).editable('save.php')
});
Run Code Online (Sandbox Code Playgroud)


Nat*_*nes 3

在一个元素上多次调用 editable 不会有副作用,对吗?那么为什么不在每次发生变化时重新进行设置呢?