使用jQuery off()删除事件

时间:2012-11-24 17:38:44

标签: javascript jquery

几乎完成了我的第一个jQuery插件。它需要一个HTML表格,并保持标题固定,并使列可排序。演示位于http://tapmeister.com/test/sortfixedtable/index.html(单击“创建”以启动插件)。

我添加了一个destroy()方法,用于删除插件。问题是它没有删除事件。

在第70行,我使用类似的东西添加事件:

$(this).on('click.sortfixedtable',methods.sortClick);

在第151行,我尝试使用类似于:

的内容删除事件
$(this).off('.sortfixedtable');

然而,off()方法不会删除click事件。任何人都可以告诉我在哪里弄乱。感谢

2 个答案:

答案 0 :(得分:1)

以下是

$(this).on('click','.sortfixedtable',methods.sortClick);

$(this).off('click','.sortfixedtable');

不行吗?第二个基本上是说

  

使用“sortfixedtable”类

this 中的元素中删除click事件处理程序

答案 1 :(得分:1)

您将事件处理程序绑定到<th>元素,但尝试将其从<table>元素中删除。相反,将其从具有处理程序绑定的相同<th>元素中删除:

t_head.find('th').off(".sortfixedtable");