JS中的类型错误可能是什么原因?

时间:2013-06-18 18:07:55

标签: javascript jquery

我想在右键单击上使用自定义上下文菜单,我在互联网上找到了。当我将它与我的代码集成时,它显示TypeError:$ .contextMenu是未定义的。 我实际上使用的是jquery.contextmenu.js文件。我还有一些其他的js文件,其中2个是我自定义的js,一个是jquery-ui(1.10.3),最后一个是jquery 1.9.1。

我正在调用一个函数,右键单击该上下文菜单。我不确定是否需要在右键单击mouseevent侦听器中调用它,或者我只需要在需要右键单击事件时使用上下文菜单功能。此上下文菜单项的详细信息在此处说明:http://www.javascripttoolbox.com/lib/contextmenu/documentation.php

2 个答案:

答案 0 :(得分:5)

要确保contextMenu插件正常工作,您需要按以下顺序插入脚本:

  1. 的jQuery
  2. contextMenu插件
  3. 初始化contextMenu
  4. 以下是一个例子:

    <!-- 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>
    

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

答案 1 :(得分:1)

首先应该加载jquery库(1.9.1),并且你应该放置代码来附加在DOM准备好之后运行的事件处理程序。

即。

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

或只是

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

修改。注意到这些评论,他们也有正确的想法。