jQuery工具 - >工具提示破坏方法?

red*_*800 9 javascript jquery tooltip jquery-tools destroy

除了jQuery UI日历之外,我在表中使用Flowplayer的jQuery Tools框架(特别是工具提示插件).

表格的每一行都能够在其上方和下方插入一行.

这样做的时候,我正在克隆点击的对象(事件和对象)并将其直接插入到上方或下方.

添加新行后,我刷新表格,为我的元素生成新的id,重新初始化datepicker,并尝试重新初始化工具提示.

我正在寻找一种方法从实例中完全销毁它并重新应用它.

我正在寻找类似于该datepicker('destroy')方法的东西.

$j($editRow).find('input.date').datepicker('destroy').datepicker({dateFormat: 'mm-dd-yy', defaultDate : defaultDateStr});

我已经尝试过:

  1. 取消绑定鼠标悬停和焦点事件:当重新调用工具提示时,它会自动转到它所生成的对象.

  2. 隐藏工具提示DOM元素,从目标中删除工具提示对象,然后重新应用它.同样的事情发生在(1)

我有办法自己创建一个破坏方法吗?

Tom*_*day 5

我尝试了kwicher的方法,但无法让它发挥作用.虽然我试图改变缩小的代码,但我并不完全确定我找到了做出改变的正确位置.

但是,我做到了这一点.ValidationFailed是我应用于所有输入字段的类,这些输入字段也应用了工具提示.

$('.validationFailed').each(function (index) {
    $(this).removeData('tooltip');
});

$('.tooltip').remove();
Run Code Online (Sandbox Code Playgroud)

我尝试了几种不同的方法,这是唯一允许我在删除后添加其他工具提示的组合,而不会阻止新的工具提示正常工作.

我可以说,工具提示类删除处理摆脱实际工具提示div,其事件也直接连接..removeData允许将来重新绑定工具提示.


Mar*_*ark 5

基于你的想法和汤姆的回答,我发现有三件事是必要的:

  1. 从工具提示目标元素中删除"工具提示"数据
  2. 从工具提示目标元素解除绑定事件侦听器
  3. 删除元素(假设您正在使用此工具提示方法以允许您的提示中的任意HTML)

所以,这个简单的功能应该可以解决问题.只需传递一个jQuery对象,其中包含要销毁的工具提示的目标元素.

function destroyTooltips($targets) { 
    $targets.removeData('tooltip').unbind().next('div.tooltip').remove();
}
Run Code Online (Sandbox Code Playgroud)