웹 사이트가 있습니다.js 트리 컨텍스트 메뉴가 RMB 클릭시 트리 노드에 표시되지 않음
두 페이지가 있습니다.
pg1은 단순한 환경에서 jsTree로 작업하기위한 것입니다. 상황은 여기에서 잘 작동합니다.
pg2는 제작 응용 프로그램입니다. 여기 내가이 문제를 겪고있는 곳입니다.
동일한 코드가 두 페이지 모두에 있고 jsTree가 다른 모든 용도로 잘 작동합니다. 나는 처음부터 트리를 만들었고 이제는 단 하나의 컨텍스트 메뉴 항목을 추가 할 것입니다.
# 1 차이점은 제 제작 페이지입니다. jsTree는 jqWidget jqxWindow에서 호스팅됩니다.
두 페이지 모두 python-web2py에서 호스팅되지만 데모 페이지는 실제로 web2py 페이지가 아닙니다. 데모는 web2py 컨트롤러를 통과하지만 페이지는 곧은 html/web2py 자바 스크립트 프레임 워크 또는 뷰 객체를 포함하지 않습니다. 데모 페이지에서 소스를 보면 편집기와 거의 동일합니다.
jqxWidgets 또는 web2py가이 문제의 근본 원인이라고 생각하지 않을 것입니다.
.
이것은 문제의 코드이며 두 페이지에서 모두 동일합니다.
, 'contextmenu': {
'items': function (node) {
var tmp = $.jstree.defaults.contextmenu.items();
delete tmp.rename;
delete tmp.remove;
delete tmp.ccp;
tmp.create.label = "New Folder";
return tmp;
}
}
, 'plugins': ['contextmenu']
.
데모 페이지에서 jsTree 노드를 클릭하면 모든 것이 정상입니다.
문제는 프로덕션 페이지에서 jsTree의 노드를 클릭해도 아무런 문제가 발생하지 않는다는 것입니다. 전혀. 상황에 맞는 메뉴가 브라우저에서 렌더링/나타나지 않습니다. 생산 jsTree가 RMB 클릭을 듣지 않는 것입니다.
편집 : 나는 이것을 깨닫기 시작했습니다. 페이지의 아무 곳이나 RBM을 클릭하면 브라우저 표준 컨텍스트 메뉴가 나타납니다. jsTree 노드의을 제외하고. 노드에는 아무것도 없습니다. 이것은 jqWidgets 또는 web2py와는 아무런 관련이 없다고 생각하는 경향이 있습니다.
jsTree가 컨텍스트 메뉴를 표시하지 못하게 할 수 있습니까? 스타일 요소에서 누락 될 수 있습니까? 제작 페이지가 나타나지 않는 contextmenu.js 파일이 있습니까?
당신은 jqWidgets 생각 또는 web2py가의 루트가 될 수 있다면이
- 가) 난에 RMB 클릭 통과 할 수 있도록 자바 스크립트를 훈련 어떻게 점 &
- B)를 증명 가야합니까 방법 jsTree?
콘솔에 오류가 있습니까? –
아쉽게도. 그러나 당신이 물어 봤기 때문에 나는 이것을 시도하려고 생각했습니다. console.log ("HELLO"); 항목에서 : 기능 콘솔은 RMB을 클릭 할 때 "HELLO"를 기록합니다. 이제 우리는 인민폐가 jsTree에서 트리거되고 있음을 압니다. 그것은 좋은 발걸음이다. – Steve
컨텍스트 메뉴는'vakata-context jstree-contextmenu jstree-default-contextmenu' 클래스를 가진'ul' 엘리먼트입니다. 노드에서 마우스 오른쪽 단추를 누른 다음 제거 할 때 추가됩니다. 마우스 오른쪽 버튼을 클릭하고 DOM (요소 콘솔 탭)에서 해당 요소를 검색하십시오. 어쩌면 눈에 띄지 않을 수도 있습니다. –