类型错误:$(...).tooltip不是一个函数。

10

我有一个使用jQuery填充的GridView。以下是导致上述错误的代码部分:

var codes = $(this).find("Code").text();

 $("td", row).eq(6).html($(this).find("oTotal").text());
            if ($(this).find("Stock").text() == 'Y') {

                $("td", row).eq(7).html('<a href="#"  class="tooltip" title="This is my divs tooltip message!" id="' + codes + '" style="text-decoration:none">Y</a>');

                 $('#' + codes).live('click', function () {
                    $('#' + codes).tooltip();

                });
            }
            else {
                $("td", row).eq(7).html($(this).find("Stock").text());
            }

我在 $('#'+ codes).tooltip() 上遇到了一个错误。我使用的是jquery.ui/1.8.22和jquery/1.8.3。


你究竟需要什么呢? - Umesh Sehta
1
你确定在你的jQuery UI加载中包含了tooltip组件吗? - Mister Epic
是的,我使用了这个CDN http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.22/jquery-ui.js。 - Sithelo Ngwenya
1
你能提供CDN的链接吗? - Mister Epic
我搜索了文件,提示信息不在其中。 - Mister Epic
6个回答

19

3
我通过将所有Javascript标签移至上方解决了这个问题:
< jdoc:include type="head" />

希望这对你也有用。

1

尝试重新排列脚本包含顺序,使jQuery排在第一位,jQuery UI排在第二位,然后按照其余的顺序进行。


0

tooltip() 不是一个函数!!!

我通过以下步骤在angular 4中解决了这个问题。

使用 npm install jquery 命令安装jquery。

在路径 src/typings.d.ts 文件中添加以下代码。

declare var jquery:any;

interface jquery
{
tooltip(options?:any):any;
}

它解决了tooltip()问题。


0

Tooltip是Bootstrap的一部分,因此包含Bootstrap应该解决问题。

快速链接以检查Bootstrap,您可以从Bootstrap链接的开头删除https:

<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.5/js/bootstrap.min.js"></script>

0

tooltip()在jQuery UI中并不是一直存在的。它是在1.9版本中添加的,因此它将在1.9版本之后的任何版本中都可以使用。证明如下:

版本添加:1.9(来源:API.jQueryUI.com:Tooltip Widget)。

如果您没有1.9或更高版本的jQuery UI,则会出现错误:tooltip() is not a function()

这就是为什么接受的答案有效的原因:它只是链接到1.10.3版本。理想情况下,您应该使用最新版本的jQuery UI(实际上,这个规则通常适用于所有软件包)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接