使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') });