2013-06-18 66 views
2

我想用右键点击一个自定义的contextmenu,我发现通过互联网。当我用我的代码集成它时,它显示TypeError:$ .contextMenu未定义。 我实际上使用jquery.contextmenu.js文件。我还有一些其他的js文件,其中2个是我自定义的js,一个是jquery-ui(1.10.3),最后一个是jquery 1.9.1。JS中类型错误的可能原因是什么?

我在调用一个函数,右键单击该上下文菜单出现。我不确定这是否需要在右键单击mouseevent监听器中调用,或者当我需要右键单击事件时,我只需要使用上下文菜单功能。这个上下文菜单项的细节在这里陈述:http://www.javascripttoolbox.com/lib/contextmenu/documentation.php

+1

jquery.js之前加载其余? – givemesnacks

+5

“,最后一个是jquery 1.9.1”应该是第一个 –

+0

不是那个顺序。订单有问题吗?我在jquery.stickynotes.js中使用jquery.contextmenu.js函数,是的,jquery.js位于顶部,然后是jquery-ui.js,在那之后,stickynotes.js-> pop.js(pop调用stickynotes.js )和最后contextmenu.js – MiNdFrEaK

回答

5

要确保文本菜单插件正常工作,你需要按以下顺序插入脚本:

  1. jQuery的
  2. 文本菜单插件
  3. 初始化文本菜单

下面是一个例子:

<!-- reference jQuery library and contextMenu plugin --> 
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
<script src="path/to/jquery.contextMenu.js" type="text/javascript"></script> 

<!-- initialize contextMenu plugin --> 
<script> 
    $(function() { 
     $(".context").contextMenu([menu] , {options}); 
    }); 
</script> 

此外,请确保脚本的路径正确(一个小错字可能会弄乱一切;所以仔细检查你是否继续遇到问题)。

+0

谢谢,我实际上是尝试contextmenu与错误的文件名。 – MiNdFrEaK

+0

没问题,很高兴帮助!弄巧成拙的路径可能是你真正陷入困境的事情之一,因为你发现自己错误地认为你最初做得正确。 –

+1

@ kyle.stearns检查控制台应该指出问题的JavaScript不加载。从那里应该是直截了当的。 –

1

应该首先加载jquery库(1.9.1),并且您应该将代码附加到DOM准备好后运行的事件处理程序。

$(document).ready(function() { 
    // Attach my event handler here 
}); 

或只是

$(function() { 
    // or use this shorthand 
}); 

编辑。注意到评论,他们也有正确的想法。

相关问题