Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.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_Dom_Jquery Tooltip - Fatal编程技术网

Javascript jQuery工具提示:删除()有问题

Javascript jQuery工具提示:删除()有问题,javascript,jquery,dom,jquery-tooltip,Javascript,Jquery,Dom,Jquery Tooltip,我正在使用jQuery插件 我有如下HTML: <li class="term ui-droppable"> <strong>Fall 2011</strong> <li class="course ui-draggable">Biological Statistics I<a class="remove-course-button" href="">[X]</a></li> <di

我正在使用jQuery插件

我有如下HTML:

<li class="term ui-droppable">
    <strong>Fall 2011</strong>
    <li class="course ui-draggable">Biological Statistics I<a class="remove-course-button" href="">[X]</a></li>
    <div class="term-meta-data">
         <p class="total-credits too-few-credits">Total credits: 3</p>
         <p class="median-GPA low-GPA">Median Historical GPA:  2.00</p>
    </div>
</li>
delete_button.click(function() {
    course.unbind().remove();
    return false;
}).tooltip();
就附加单击处理程序而言,这一切都很好。但是,当调用
course.remove()
时,Firebug会在tooltip.js中报告一个错误:

Line 282
tsettings is null

if ((!IE || !$.fn.bgiframe) && tsettings.fade) {
我做错了什么?如果链接附加了工具提示,我是否需要删除它

更新:删除
.tooltip()
解决问题。我想保留它,但这让我怀疑我在这里使用的
.tooltip()
是不正确的。

这个
.tooltip()
插件有几个附加到元素的处理程序,即在
鼠标上方
鼠标出
,以及
单击
。如果要删除该元素,请删除所有这些事件,使它们不会运行,如下所示:

<li class="term ui-droppable">
    <strong>Fall 2011</strong>
    <li class="course ui-draggable">Biological Statistics I<a class="remove-course-button" href="">[X]</a></li>
    <div class="term-meta-data">
         <p class="total-credits too-few-credits">Total credits: 3</p>
         <p class="median-GPA low-GPA">Median Historical GPA:  2.00</p>
    </div>
</li>
delete_button.click(function() {
    course.unbind().remove();
    return false;
}).tooltip();
另一个需要注意的变化是,
delete_按钮
已经是一个jQuery对象,将其包装在
$()
中:)

发生此错误的原因是,在通过元素之后,它试图从元素中提取并使用它的设置数据,jQuery将其数据从缓存中删除。这种方法只是防止所有的工具提示处理程序再次运行,所以数据是否消失(应该是这样)无关紧要,因为现在没有任何东西在寻找它。

这个
.tooltip()
插件有几个附加到元素的处理程序,即在
鼠标上方
mouseout
,然后单击
。如果要删除该元素,请删除所有这些事件,使它们不会运行,如下所示:

<li class="term ui-droppable">
    <strong>Fall 2011</strong>
    <li class="course ui-draggable">Biological Statistics I<a class="remove-course-button" href="">[X]</a></li>
    <div class="term-meta-data">
         <p class="total-credits too-few-credits">Total credits: 3</p>
         <p class="median-GPA low-GPA">Median Historical GPA:  2.00</p>
    </div>
</li>
delete_button.click(function() {
    course.unbind().remove();
    return false;
}).tooltip();
另一个需要注意的变化是,
delete_按钮
已经是一个jQuery对象,将其包装在
$()
中:)


发生此错误的原因是,在通过元素之后,它试图从元素中提取并使用它的设置数据,jQuery将其数据从缓存中删除。这种方法只会阻止所有工具提示处理程序再次运行,因此数据是否消失(应该是这样)无关紧要,因为现在没有任何东西在寻找它。

我也遇到了同样的问题,最后不得不延迟调用.remove()以防出错。因此,以下内容可能适用于您:

$(delete_button).click(function() {
   setTimeout( function() { course.remove() } , 1);
   return false;
}).tooltip();

我也遇到了同样的问题,最后不得不延迟.remove()的调用以防止出现错误。因此,以下内容可能适用于您:

$(delete_button).click(function() {
   setTimeout( function() { course.remove() } , 1);
   return false;
}).tooltip();