Javascript 动态上下文菜单未与jQuery一起显示

Javascript 动态上下文菜单未与jQuery一起显示,javascript,jquery,html,Javascript,Jquery,Html,我正在从事一个可视化Web编辑器项目。这是一个顶部有输入文本的网页,用户在其中输入网站名称,网站在输入字段下方加载(网站用户可以输入的内容仅限于我们公司开发的内容) 加载的页面与实际网站类似,所有锚链接都设置为“#”,所有按钮和表单返回false。意味着用户将停留在页面上,无法导航到加载的网站或其他页面 每个元素用户将悬停,将得到概述,单击元素后,将提示该元素用户可以对单击的元素执行的操作列表例如如果他点击一个图像,他可以改变图片或增加/减少宽度/高度 我成功地获取了元素,但无法获取上下文菜单…

我正在从事一个可视化Web编辑器项目。这是一个顶部有输入文本的网页,用户在其中输入网站名称,网站在输入字段下方加载(网站用户可以输入的内容仅限于我们公司开发的内容)

加载的页面与实际网站类似,所有锚链接都设置为“#”,所有按钮和表单返回false。意味着用户将停留在页面上,无法导航到加载的网站或其他页面

每个元素用户将悬停,将得到概述,单击元素后,将提示该元素用户可以对单击的元素执行的操作列表例如如果他点击一个图像,他可以改变图片或增加/减少宽度/高度

我成功地获取了元素,但无法获取上下文菜单……它没有显示出来,因为加载的页面有自己的jquery,而这超过了我的jquery。 .Firebug说“类型错误:$.contextMenu不是函数”。。 但当没有加载网站时,它可以正常工作

我知道理解我真正想说的有点困惑,所以我在下面附上了我正在编写的代码片段。这可能有助于你理解

<script src="jquery-1.8.2.min.js" type="text/javascript"></script>
<script src="src/jquery.contextMenu.js" type="text/javascript"></script>

<script>
$(function(){

  $.contextMenu({
        selector: 'body', 
        trigger: 'left',
        callback: function(key, options) {
            var m = "clicked: " + key;
            window.console && console.log(m) || alert(m); 
        },
        items: {
            "edit": {name: "Edit", icon: "edit"},
            "cut": {name: "Cut", icon: "cut"},
            "copy": {name: "Copy", icon: "copy"},
            "paste": {name: "Paste", icon: "paste"},
            "delete": {name: "Delete", icon: "delete"},
            "sep1": "---------",
            "quit": {name: "Quit", icon: "quit"}
        }
    }); 

 /*  other code goes here */
</script>

<body>
<form method="post" action="crossdomain" id="mzwebsubmit">
    <input type="text" name="websitename" class="mzweb" value="${websitename }"> 
    <input type="submit" class="mzwebsubmit">  
</form>
<form method="post" action="crossdomain" id="finalpageform">
    <input type="hidden" name="finalpage" id="finalpage" class="mzweb" > 
    <input type="submit" value="Save" class="mzweb">
</form>

<hr>
<hr>
<!-- Website Loads in this DIV -->
<div id="visualwebload">${data }</div>

$(函数(){
$.contextMenu({
选择器:'主体',
触发器:“左”,
回调:函数(键、选项){
var m=“单击:”+键;
window.console&&console.log(m)| | alert(m);
},
项目:{
“编辑”:{名称:“编辑”,图标:“编辑”},
“切割”:{名称:“切割”,图标:“切割”},
“复制”:{名称:“复制”,图标:“复制”},
“粘贴”:{名称:“粘贴”,图标:“粘贴”},
“删除”:{名称:“删除”,图标:“删除”},
“sep1”:“-----------”,
“退出”:{名称:“退出”,图标:“退出”}
}
}); 
/*其他代码在这里*/


${data}

我在body上试用它,这样至少它应该出现在我点击的任何地方,但它什么都不起作用。如果我没有加载他们的网站,那么它工作得很好。所以,任何人都可以建议我如何避免这些问题并获得动态上下文菜单。所有上下文菜单依赖项都被正确包含。

我同意Murali Mopuru的观点,看起来是这样的这就像一个参考问题。请再次确保src=“src/jquery.contextMenu.js”已真正加载。

您可以执行以下操作:

$(document).ajaxSend(function () {
     $.contextMenu('destroy');
});

你试过把你的代码放到$(document)中吗?准备好了吗(function(){/*这是你的代码*/});?我不认为$(function(){})会等待你网站的所有dom被加载:)不,它不起作用……:(……Firebug说“类型错误:$。contextMenu不是一个函数”没有加载网站时工作正常确保jquery.contextMenu.js已加载到网页中我已经检查过了..加载正确..正如我所说,如果没有加载网站,上下文菜单工作正常。请有人帮助我解决此问题