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

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

我有一个“setup”函数,它在所有相关的类上调用.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'); }); 

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

想要更好的解决方案吗?

在元素上多次调用可编辑没有不良副作用,对吧? 那么为什么不在每次更改时重新进行设置。

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

 $('.jqEdit').live('click',function(event) { event.preventDefault(); $(this).editable('save.php') });