我确信这很简单,但我正在敲打我的脑袋!
我正在使用优秀的jQuery插件editable(http://www.appelsiini.net/projects/jeditable)。用户可以动态创建表单,然后单击以编辑标题,文本正文等等。
每次用户创建新问题时,我都会重新绑定插件:
$('.edit').editable()
每个具有“编辑”类的元素都应该是可编辑的。
问题是,之前的'edit'元素似乎得到了双重约束......也就是说,当您单击编辑它们时,会显示一个输入字段,其中包含以下内容:
<input class="">
这是有意义的,因为它被绑定两次(或更多)。如何最好地解决这个问题?我的直觉是在所有'编辑'元素上取消绑定插件然后重新绑定它但我不知道如何做到这一点。
感谢您的帮助
答案 0 :(得分:5)
“插件”只是添加到jQuery.fn
的功能。除非创建者定义了删除或销毁方法,否则该功能无法逆转。
编辑:可编辑函数,当给定参数'destroy'
时,取消绑定插件。
答案 1 :(得分:1)
将您的选择器范围限定为新创建的表单。
$('<form>...</form>').appendTo('someDiv')
.find('.edit')
.editable();
或
$('form:last').find('.edit')
.editable();
请注意,表单的选择器只是示例。您只需找到正确的表单,并仅将可编辑的插件应用于其中包含edit
类的项目。