首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角JS -向jQlite添加jquery插件

角JS -向jQlite添加jquery插件
EN

Stack Overflow用户
提问于 2015-04-20 15:39:15
回答 2查看 615关注 0票数 3

我需要在$element上做一些dom遍历,但是jQuery或jQlite不需要做我想做的事情,所以我需要使用一个名为closestChild的jQuery插件。

https://github.com/lolmaus/jquery.closestchild/blob/master/jquery.closestchild.js

我已经使用bower安装了它,并且我试图在angular.min.js之后在我的脚本标记中加载它,但是仍然会得到以下错误。

代码语言:javascript
复制
Uncaught TypeError: Cannot read property 'fn' of undefined

那么,我假设jQlite附带了Angular,在默认情况下不会给您提供可以使用的$?还是我只是按错误的顺序做事?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-20 15:59:03

不,angular.element (jqLite)不导出$全局变量。因此,您不能只使用没有jQuery的任何角度的jQuery插件。在某些情况下,如果在包括插件(如果是$ )之前手动创建jQuery引用,则可以解决这个问题。例如:

代码语言:javascript
复制
<script src="path-to-angular.js"></script>
<script>
window.$ = window.jQuery = angular.element;
window.$.fn = window.$.prototype;
</script>
<script src="path-to-jquery.plugin.js"></script>

但是,在您的示例中,它将无法工作,因为感兴趣的插件使用$.fn.filter方法,而jqLite没有实现该方法。以下是所有可用angular.element方法的列表。

您可以自己实现其中的一些,并包含在插件之前。

但是,如果您想使用jQuery插件,我建议您实际使用jQuery。

票数 2
EN

Stack Overflow用户

发布于 2015-04-20 15:54:46

jQlite不支持jQuery插件。实际上,它是一个轻量级的选择器工具,而不是支持扩展的重量级工具,比如jQuery。

你有两个选择:

  1. 使用JavaScript实现功能( element.getElementBySelector('foo) )。
  2. 在项目中包括jQuery。

我个人会使用备选案文1。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29752297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档