2013-06-18 64 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 
}); 

編輯。注意到評論,他們也有正確的想法。

相關問題