我正在与contextMenu.js合作,而且工作正常。从技术上讲,当页面负载较少时,它仍然可以正常工作,但是当页面上还加载了一个表单时,会出现此错误的风险:
TypeError: $(...).contextMenu is not a function
并不是说它还没有加载。我可以等待很长时间,并尝试添加上下文菜单,我仍然得到错误。它似乎是随机发生的,虽然某些页面比其他页面更容易出错,但我可以加载页面10次,并且错误发生了9次。其他页面我会在十次中得到错误。基本上,有时它不会看到contextMenu函数,有时也看不到。
我已经玩过加载顺序了,jquery是第一个加载的东西,我仍然可以在文档的其余部分使用jquery,所以我不认为它是#sa jquery的问题。我有点茫然,有什么想法吗?
这是我的代码:
function createSavedReportsMenu(name, location, report, fileNumber){
// creates the popup menu for the saved reports area
var menu = [{ //begin first item on the pop up menu
name: 'Run Report', // the name that is displayed for the first button
img: '/Reports/images/run.png', // display an image
title: 'run button', // mouse over text
fun: function () {
//do something
}
}, {
name: 'Load Parameters',
img: '/Reports/images/load.png',
title: 'load button',
fun: function () {
//do something
}
}, {
name: 'Rename Report',
img: '/Reports/images/rename.png',
title: 'rename button',
fun: function () {
//do something
}
}, {
name: 'Delete',
img: '/Reports/images/delete.png',
title: 'delete button',
fun: function () {
//do something
}
}];
var reportDiv = "#file" + fileNumber;
try{
$(reportDiv).contextMenu(menu);
}catch(err){
alert(err);
}
}