Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
取消绑定jquery插件_Jquery_Events_Bind_Unbind - Fatal编程技术网

取消绑定jquery插件

取消绑定jquery插件,jquery,events,bind,unbind,Jquery,Events,Bind,Unbind,我相信这很简单,但我的头撞到了 我正在使用优秀的jQuery插件editable()。用户可以动态创建表单,然后单击编辑标题、文本正文等等 每次用户创建新问题时,我都会像这样重新绑定插件: $('.edit').editable() 其中,类为“edit”的每个元素都应该是可编辑的 问题是,以前的“编辑”元素似乎受到双重限制。。。也就是说,当您单击编辑它们时,将显示一个输入字段,其中包含以下内容: <input class=""> 这是有道理的,因为它被束缚了两次(或更多)。

我相信这很简单,但我的头撞到了

我正在使用优秀的jQuery插件editable()。用户可以动态创建表单,然后单击编辑标题、文本正文等等

每次用户创建新问题时,我都会像这样重新绑定插件:

$('.edit').editable()
其中,类为“edit”的每个元素都应该是可编辑的

问题是,以前的“编辑”元素似乎受到双重限制。。。也就是说,当您单击编辑它们时,将显示一个输入字段,其中包含以下内容:

<input class="">

这是有道理的,因为它被束缚了两次(或更多)。如何最好地处理这个问题?我的直觉是在所有“编辑”元素上解除插件的绑定,然后重新绑定,但我不知道怎么做


感谢您的帮助

将选择器的作用域仅限于新创建的表单

$('<form>...</form>').appendTo('someDiv')
                     .find('.edit')
                     .editable();

请注意,表单的选择器只是示例。您只需找到正确的表单,并仅将可编辑插件应用于其中带有
edit
类装饰的项目。

将选择器的范围仅限于新创建的表单

$('<form>...</form>').appendTo('someDiv')
                     .find('.edit')
                     .editable();
请注意,表单的选择器只是示例。您只需找到正确的表单,并仅将可编辑插件应用于其中带有
edit
类装饰的项目。

一个“插件”只是添加到
jQuery.fn
中的一个函数。除非创建者定义了移除或销毁方法,否则该函数不能反转

编辑:当给定参数
'destroy'
时,可编辑函数将解除插件的绑定。

一个“插件”只是添加到
jQuery.fn中的一个函数。除非创建者定义了移除或销毁方法,否则该函数不能反转


编辑:当给定参数
'destroy'
时,可编辑函数将解除插件的绑定。

我理解。这可能是一种比我想的更好的方法,所以我将尝试一下,但我仍然对最初的问题感到好奇-取消连接插件您必须知道特定插件添加了哪些事件,并使用unbind()方法删除这些事件/函数对。这可能最好由每个插件提供,例如jQueryUI对话框插件通过destroy方法实现:我理解。这可能是一种比我想的更好的方法,所以我将尝试一下,但我仍然对最初的问题感到好奇-取消连接插件您必须知道特定插件添加了哪些事件,并使用unbind()方法删除这些事件/函数对。这可能最好由每个插件提供,例如jQuery UI对话框插件通过destroy方法实现: