gpt4 book ai didi

javascript - RequireJS JQuery 上下文菜单问题

转载 作者:行者123 更新时间:2023-11-30 16:38:28 25 4
gpt4 key购买 nike

我正在处理一个 HTML5 页面,其 Javascript 由 RequireJS 提供支持。我已经使用 RequireJS 定义了许多依赖项,甚至是那些不支持 AMD 的依赖项,并且都成功了(我提到这个是为了说明我的 RequireJS 配置大部分是功能性的)。但是,我遇到了一个特定依赖项的问题。

我正在尝试获取 Medialize's JQuery ContextMenu Plugin在职的。我的 RequireJS 配置的相关部分(或者,至少,我认为相关的部分)是:

require.config({
paths: {
'jquery': "jQuery/jquery-latest", //jQuery 1.10.2
'jquery-ui': "jQuery/jquery-ui-1.10.3",
'jquery-contextmenu': "jQuery/jquery.contextmenu.r2.packed",
...
},
shim: {
"jquery-ui": ["jquery"],
"jquery-contextmenu": ["jquery"],
...
}
});

然后,在我的代码中,我正在做:

define(["jquery", "jquery-contextmenu"], function ($) {
$(document).ready(function () {
$.contextMenu({
selector: 'a',
items: {
"edit": {name: "Edit"}
}
});
});
});

因此,我们的想法是,只要右键单击“a”标签,就会弹出一个上下文菜单,其中包含一个选项,即“编辑”。

相反,在我点击任何东西之前,我收到错误 Uncaught TypeError: $.contextMenu is not a function 对我来说,这听起来像是 contextMenu 没有被 RequireJS 正确加载/为 RequireJS 加载...但我不确定如何修复它。

感谢任何帮助

编辑:Added a Plunker ,但效果不是很好。我遇到一些超时和 RequireJS 脚本错误。不知道为什么。

最佳答案

您在 Plunker 中遇到的错误是由于在路径末尾添加了“.js”。不要这样做。 (你没有在问题中显示的代码中执行此操作,但在你的 plunker 中引入了这个问题。)你也做了什么 this answer建议,这是一个糟糕的建议,因为你正在使用的垫片 jquery-contextmenu 为模块值返回 undefined 。因此将它分配给 $ 会使 $ 未定义。

一旦我从你的 plunker(我 forked)中编辑了这些问题,你的问题中的错误就不会发生。

关于javascript - RequireJS JQuery 上下文菜单问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32365021/

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