2013-11-23 3 views
4

Visual Web Editor 프로젝트에서 작업하고 있습니다. 사용자가 웹 사이트 이름을 입력하고 웹 사이트가 입력 필드 아래에로드되는 입력 텍스트가있는 웹 페이지입니다 (웹 사이트 사용자 입력 할 수있는 것들은 우리 회사가 개발 한 것들에만 국한 됨).동적 컨텍스트 메뉴가 jQuery와 함께 표시되지 않습니다.

로드 된 페이지는 모든 앵커 링크가 "#"으로 설정되고 모든 버튼과 양식이 false를 반환하는 실제 웹 사이트와 유사합니다. 사용자는 페이지에 머 무르며로드 된 웹 사이트의 다른 페이지로 이동할 수 없습니다. ...

모든 요소 사용자가 마우스를 올리면 윤곽이 표시되고 요소를 클릭하면 사용자가 클릭 한 요소로 수행 할 수있는 작업 목록이 표시됩니다 . 예. 그가 이미지를 클릭하면 사진을 변경하거나 너비/높이를 늘리거나 줄일 수 있습니다.

요소 가져 오기에 성공했지만 컨텍스트 메뉴를 가져올 수 없습니다 ...로드 된 페이지에 자체 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> 

저는 몸에 붙이려고 노력하고 있습니다. 적어도 클릭하면 어디에서나 나타나야하지만 아무 것도하지 않습니다. 만약 내가 그들의 웹 사이트가 없다면 완벽하게 작동합니다. 그래서 사람들은 어떻게 문제를 피하고 동적 컨텍스트 메뉴를 얻을 수 있는지 제안 할 수 있습니다. 모든 컨텍스트 메뉴 종속성이 올바르게 포함됩니다.

+0

당신이 코드를 넣어 시도 되세요 $ (문서)에 .ready (함수() {/ * 여기에 간다 당신의 코드 * /}); ?? 나는 $ (function() {})이로드 될 웹 사이트의 DOM을 모두 기다릴 것이라고 생각하지 않는다. :) –

+0

더 이상 작동하지 않았다 ... : (...... 방화 광은 "TypeError : $ .contextMenu is is 함수가 아님 "웹 사이트가로드되지 않았을 때 올바르게 작동 함 –

+0

jquery.contextMenu.js가 웹 페이지에로드되고 있음을 확인하십시오. –

답변

0

나는 Murali Mopuru와 동의 할 것이고, 그것은 참조 이슈처럼 보인다. 다시 한 번 확인하십시오. src = "src/jquery.contextMenu.js"가 trully로로드되었습니다.

0

이 작업을 수행 할 수 있습니다

$(document).ajaxSend(function() { 
    $.contextMenu('destroy'); 
}); 
관련 문제