Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.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
Javascript jQuery工具->;工具提示销毁方法?_Javascript_Jquery_Jquery Tools_Tooltip_Destroy - Fatal编程技术网

Javascript jQuery工具->;工具提示销毁方法?

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').

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

表的每一行都可以在其上方和下方插入一行

执行此操作时,我将克隆单击的对象(事件和对象),并将其直接插入上方或下方

添加新行后,我刷新表,为元素生成新id,重新初始化日期选择器,并尝试重新初始化工具提示

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

我正在寻找类似于
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');
       }