【发布时间】:2013-07-18 15:03:13
【问题描述】:
我不确定我是否有明确的方式来展示/描述我遇到的问题。但这里是:
我用 AngularJS 开发了一个应用程序(还没有上线)。决定我们需要表格中某些指标的工具提示。我们喜欢TipTip jQuery Plugin 的整体外观。
在我的index 文件中,我正确地包含了 minified.js:
<script src="../assets/javascripts/app/jquery.tipTip.minified.js"></script>
(是的,路径是正确的,我可以点击chrome开发者工具中的链接查看源文件)。
在我的控制器中,我这样称呼它:
$scope.addTolltips = function() {
$timeout(function(){$('.results-metrics').tipTip({maxWidth:"300px", defaultPosition: "top"});},500);
}
我添加了$timeout 以确保有足够的时间将页面上的动态内容加载到 DOM 中。我知道这可能不再需要了。
但是当tipTip() 被调用时,我得到一个控制台错误:
TypeError: Object [object Object] has no method 'tipTip'
但是,如果我将缩小的源代码粘贴到我的控制器中 tipTip() 之前,那么一切正常。 有什么想法吗?
【问题讨论】:
-
提供一些关于你如何调用该方法的示例。
-
@Chandermani 您的请求已获批准 :)
-
您是否在 angularjs 脚本之前为 TipTip 添加了
<script>元素? -
@obecker 我已经在各种地方尝试过,在角度之前和之后。在 jQuery 之前和之后(但我知道它需要在之后)。在body标签关闭之前我也试过了。
-
如果您使用
angular.element('.results-metrics')而不是$('.results-metrics')会发生什么?看起来$已更改...(顺便说一句 - 控制器是访问 DOM 的错误位置。)
标签: javascript jquery angularjs