破坏jquery函数和我的对象之间的绑定?

时间:2010-03-21 09:49:39

标签: jquery binding

如果我使用一些非常简单的代码,如:

$('#elm').tipTip();

它将执行插件的目的。有没有办法销毁这个绑定到插件tipTip()不会长期绑定到这个元素?

更新

原因是,并不是我想要阻止提示弹出,我有一个用户看到的主要数据div,并且当他们点击隐藏div中的内容时会通过时髦的过渡进入它。

该插件运行良好一次,但是如果我删除内容然后再将其重新添加(点击其他内容然后再返回)它们将无效。

我认为最好的方法是从我的元素中删除整个tip插件绑定,然后每次将内容移动到框中时再次启动,可能不会。

2 个答案:

答案 0 :(得分:4)

首先,如果您提出这样一个问题,如果您包含您正在使用的插件的链接会更好。这是TipTip你的意思吗?如果是的话:

据我所知,这个插件没有内置的功能来“破坏”已经创建的TipTip对象。 (至少在文档中没有这个概念,快速检查的源代码也不提供这个)。

由于我对插件本身并不熟悉,而且您没有详细说明如何使用它,我不确定我的解决方案是否适合您。但是你可以尝试然后给出反馈。

这应该可以阻止尖端显示。

$('#elem').unbind('hover');

此解决方案存在问题:

  • 它只解除插件绑定到
  • 的事件
  • TipTip对象并未真正删除,但不再触发
  • 如果您自己将另一个处理程序绑定到此元素的悬停事件
  • ,则无效

如果页面上只有一个带有TipTip功能的元素,您可以考虑删除该插件使用的其他DOM内容

$("div[id^=tiptip_]").remove(); //remove the tiptip holder/content/arrow divs

答案 1 :(得分:1)

我发现只需将tipTip()重新绑定到该元素,它将覆盖旧提示。