gpt4 book ai didi

javascript - 将自定义 Jquery 插件与 requireJS 一起使用

转载 作者:行者123 更新时间:2023-12-01 02:23:39 24 4
gpt4 key购买 nike

抱歉,如果我重复这个问题,但我对 requireJS 还很陌生,而且我不完全理解它的工作方式。

我正在尝试通过元素上的对 Angular 线移动来实现类似亚马逊的导航。我为此找到了一个 jQuery 插件 ( https://github.com/kamens/jQuery-menu-aim ),但我想在 requireJS 的帮助下实现它。

通常,您只需将所有必要的脚本包含在 <script> 中即可。标签(Jquery 和插件)。然后,您找到导航并分配一些有关激活/停用子菜单的功能。例如:

          <script src="js/jquery-1.9.1.min.js" type="text/javascript"></script>
<script src="../jquery.menu-aim.js" type="text/javascript"></script>
<script src="js/bootstrap.min.js" type="text/javascript"></script>
<script>
var $menu = $(".dropdown-menu");
// jQuery-menu-aim: <meaningful part of the example>
// Hook up events to be fired on menu row activation.
$menu.menuAim({
activate: activateSubmenu,
deactivate: deactivateSubmenu
});

function activateSubmenu(row) {//do something}
function deactivateSubmenu(row) {//do someting else)
</script>

以requireJS方式。在 navigation.js 文件中,我一开始就需要 menu-aim 插件,并尝试像这样实现它:

 var menuAim = require('lib/menu-aim');
// some code
var $menuT = $('#nav-main-deep');
$menuT.menuAim({
activate: activateSubmenu,
deactivate: deactivateSubmenu

});
function activateSubmenu(){
console.log('test1');
}

function deactivateSubmenu() {
console.log('test2');
}

我把整个插件 menu-aim.js 放在:

define(function () {
//whole menu-aim plugin
});

可能,这不是运行 requireJS 插件的方式,因为它什么也不做(我尝试做一些控制台日志)。我尝试查看 requireJS 文档,但我仍然不明白如何正确执行它。非常感谢您的建议..

最佳答案

From the GitHub code ,看起来 jQuery-menu-aim 没有使用通用模块定义,因此它需要 RequireJS 配置的一些帮助。

垫片可以帮助 RequireJS 对依赖项进行排序,因为这是一个 jQuery 插件,必须首先加载 jQuery 并将其传递给它。点击此处more information on RequireJS shims .

将此代码添加到您的 RequireJS 配置文件

requirejs.config({
shim: {
'menu-aim': {
deps: ['jquery']
}
}
});

当你打电话时

require('lib/menu-aim', function() { 
// put your menu code here
});

jQuery 和菜单插件将被加载。

关于javascript - 将自定义 Jquery 插件与 requireJS 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48996456/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com