我正在开发一个Visual Web Editor项目。它是一个顶部有输入文本的网页,用户输入网站名称,网站加载到输入字段下方(网站用户可以输入仅限于由我们公司。)
加载的页面类似于实际网站,所有锚链接都设置为“#”,所有按钮和表单都返回false。意味着用户将留在页面上,无法导航到已加载的网站其他页面......
每个将悬停的元素用户都会被勾勒出来,点击元素之后,系统会提示用户点击元素的列表。 例如如果他点击图片,他可以更改图片或增加/减少宽度/高度。
我成功获取元素但无法获取上下文菜单...它没有显示,因为加载的页面有自己的jquery并且超越了我的。 .Firebug说“ TypeError:$ .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>
我在身体上尝试它至少它应该出现在我点击的任何地方,但它什么也没做。如果我他们没有加载网站,那么它的工作完美。所以有人可以建议我如何避免这些问题并获得动态的上下文菜单。正确包含所有上下文菜单依赖项。
答案 0 :(得分:0)
我同意Murali Mopuru,它看起来像是一个参考问题。请再次确认,src =“src / jquery.contextMenu.js”是特意加载的。
答案 1 :(得分:0)
你可以这样做:
$(document).ajaxSend(function () {
$.contextMenu('destroy');
});