Javascript jQuery工具->;工具提示销毁方法?
除了jQuery UI日历之外,我还在表中使用Flowplayer的jQuery工具框架(特别是工具提示插件) 表的每一行都可以在其上方和下方插入一行 执行此操作时,我将克隆单击的对象(事件和对象),并将其直接插入上方或下方 添加新行后,我刷新表,为元素生成新id,重新初始化日期选择器,并尝试重新初始化工具提示 我正在寻找一种从实例中完全销毁它并重新应用它的方法 我正在寻找类似于Javascript jQuery工具->;工具提示销毁方法?,javascript,jquery,jquery-tools,tooltip,destroy,Javascript,Jquery,Jquery Tools,Tooltip,Destroy,除了jQuery UI日历之外,我还在表中使用Flowplayer的jQuery工具框架(特别是工具提示插件) 表的每一行都可以在其上方和下方插入一行 执行此操作时,我将克隆单击的对象(事件和对象),并将其直接插入上方或下方 添加新行后,我刷新表,为元素生成新id,重新初始化日期选择器,并尝试重新初始化工具提示 我正在寻找一种从实例中完全销毁它并重新应用它的方法 我正在寻找类似于datepicker('destroy')方法的东西 $j($editRow).find('input.date').
datepicker('destroy')
方法的东西
$j($editRow).find('input.date').datepicker('destroy').datepicker({dateFormat:'mm-dd-yy',defaultDate:defaultDateStr})代码>
我已经尝试:
解除鼠标悬停和焦点事件的绑定:当重新调用工具提示时,它会自动指向创建它的对象
隐藏tooltip DOM元素,从目标中删除tooltip对象,然后重新应用它。发生与(1)相同的事情
有什么方法可以让我自己创建销毁方法吗?如果您仍然需要它,您可以按如下操作:
-在工具提示实现文件中添加以下函数
destroy: function(e) {
tip.detach();
}
在某处:
$.extend(self, {
...
我在最后一个本机函数之后使用了
然后,当您要移除尖端时,启动:
$(.tip).data('tooltip').destroy();
它应该会起作用
K我试过奎彻的方法,但没有成功。虽然我试图修改缩小的代码,但我不完全确定我是否找到了进行更改的正确位置
然而,我确实做到了这一点。ValidationFailed是一个类,我正在将它应用于所有也应用了工具提示的输入字段
$('.validationFailed').each(function (index) {
$(this).removeData('tooltip');
});
$('.tooltip').remove();
我尝试了几种不同的方法,这是唯一允许我在移除后添加额外工具提示的组合,而不会阻止新工具提示正常工作
据我所知,tooltip类的删除处理了实际的tooltip div,这些div的事件也直接连接起来。.removeData允许将来重新绑定工具提示。基于您的想法和Tom的答案,我发现有三件事是必要的:
从工具提示目标元素中删除“工具提示”数据
从工具提示目标元素取消绑定事件侦听器
删除元素(假设您使用此工具提示方法允许提示中包含任意HTML)
因此,这个简单的函数应该可以做到这一点。只需向它传递一个jQuery对象,其中包含要销毁的工具提示的目标元素
function destroyTooltips($targets) {
$targets.removeData('tooltip').unbind().next('div.tooltip').remove();
}
也许太晚了…;-)
但在这里,您可以找到“工具提示”的所有方法:
我把提示留给可能路过的人,他们也有同样的问题:处理不同的“工具提示”操作/OBJ。当你试图解开工具提示时,你能解释一下“自动转到生成它的对象”是什么意思吗?你能发布你用来调用工具提示的代码吗,还有你用来解开它们的代码?
if($element.data('ui-tooltip')) {//if tooltip has been initialized
$element.tooltip('destroy');
}