RequireJS JQuery ContextMenu issues
RequireJS JQuery ContextMenu issues
我正在制作一个HTML5页面,其Javascript由RequireJS提供支持。我已经使用RequireJS定义了许多依赖项,甚至是那些不支持AMD的依赖项,并取得了成功(我提到这一点是为了说明我的RequireJS配置主要是功能性的)。但是,我在一个特定的依赖项上遇到了一个问题。
我想让Medialize的JQuery ContextMenu插件工作。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
,对我来说,听起来像上下文菜单没有被正确加载/为RequireJS…但我不知道如何解决它。
感谢任何帮助
编辑:增加了一个活塞,但它不是很好地工作。我得到一些超时和RequireJS脚本错误。不知道为什么你在你的Plunker得到的错误是由于拍打"。js"在你的路径结束。不要这样做。(您没有在问题中显示的代码中这样做,而是在您的plunker中引入了这个问题。)你也做了这个答案所建议的,这是不好的建议,因为你正在使用的垫片jquery-contextmenu
返回undefined
的模块值。因此,将其赋值给$
使$
没有定义。
一旦我从你的plunker(我分叉的)中编辑这些问题,你的问题中的错误就不会发生了。
相关文章:
- SharePoint Javascript Issues
- jQuery ContextMenu事件在IOS 8.2中不起作用
- getElementById : IE Issues
- Issues with window.location.assign
- JavaScript IE issues
- document.querySelector issues
- Javascript and the DOM issues
- contextMenu在Chrome Packaged App中不起作用
- jquery nicescroll and touchbehavior issues
- wordpress a tag onClick issues
- Yii ajax issues
- Issues with Fancybox
- bind('contextmenu') 不适用于 iOS
- WebView + addJavascriptInterface + javascript = issues, webc
- Angular2 xlink:href Issues
- IE8 Javascript Issues
- HTML localStorage CSS Issues?
- jQuery .not() issues
- 在jQuery的contextMenu插件中定义图标
- RequireJS JQuery ContextMenu issues