2011-10-20 2 views
2

누구든지 AJAX를 통해 최상위 및 하위 메뉴 항목을로드 할 수있는 콜백을 지원하는 HTML/JavaScript/jQuery 컨텍스트 메뉴 구현을 알고 있습니까?AJAX를 통해 하위 메뉴 항목을로드하는 HTML/javascript 컨텍스트 메뉴

사용 가능한 메뉴 항목이 사용 권한, 데이터 액세스 권한 및 데이터 사전 관계에 의해 결정되는 매우 동적 인 상황에 맞는 메뉴를 지원해야합니다. 런타임에 메뉴 구조의 항목과 깊이가 결정되기 때문에 메뉴 항목을 미리 만들 수 없습니다.

저는 특히이 스타일의 메뉴가 요구 사항에 적합하기 때문에 jQuery 1.9 용으로 개발되는 새로운 iPod style menu이 동적 AJAX 로딩을 지원하는지 알아 보는 데 관심이 있습니다.

감사합니다. Glenn.

+0

[mbMenu] (http://pupunzi.open-lab.com/2009/01/18/mbmenu/)는 매우 오래되었지만 AJAX를 통해 하위 메뉴 콘텐츠로드를 지원합니다. 그러나, 우리가 필요로하는 ipod 스타일을 지원하지 않으며 요소 ID와 충돌하지 않도록 수정해야했습니다. – Glenn

답변

1

이 하나의 시도 : 그것은 구현 및 유지 관리가 쉽다

http://abeautifulsite.net/blog/2008/09/jquery-context-menu-plugin/

.

편집 : 당신은 UL에게 ID 제공하여 메뉴를 동적으로 액세스 할 수 있습니다

:

<ul id="contextmenuid"> 
    /*Empty menu to be created dynamically*/ 
</ul> 

을 다음이 UL에 액세스하고 만들 수 있습니다 자바 스크립트 사용은/필요한 LI 수정 :

var contextMenu = document.getElementById(contextmenuid); 

//This part would be dynamic loop to add menu items 
var contextMenuItem = document.createElement('li'); 
var contextMenuItemLink = document.createElement('a'); 

contextMenuItem.setAttribute('class', 'imageclass');  //imageclass will be used to show the menu item image 
contextMenuItemLink.setAttribute('href', '#doaction');  //#doaction is the item ID, it would be number 
contextMenuItemLink.setAttribute('title', 'Tooltip Info'); //Tooltip 
contextMenuItemLink.innerHTML = 'Dynamic Item, click me...';//Menu item text 
contextMenuItem.appendChild(contextMenuItemLink); 

//Add the new menu item to the context menu 
contextMenu.appendChild(contextMenuItem); 

같은이 하위 메뉴에 사용되는 :

<ul id="contextmenuid"> 
    <li><a href="http://msn.com">MSN</a> 
     <ul id="contextsubmenuid"> 
      /*to be created dynamically*/ 
     </ul> 
    </li> 
</ul> 

스타일에 관해서는 내가 원하는대로 가지고 놀 수 있습니다.

희망이 도움이 될 것입니다.

+0

당신이 언급 한 플러그인은 AJAX 하위 메뉴 내용이나 아이팟 스타일 메뉴를 지원하지 않습니다. – Glenn

+0

나는 나의 대답을 편집했다. – Shadi

+0

Shadi 업데이트 주셔서 감사합니다. 그러나 나는 아직도 그것이 내가 필요한 것을하지 않는다고 생각한다. 사용자가 그것을 선택할 때 서브 메뉴를 동적으로로드해야합니다. 서브 메뉴 선택을위한 콜백이있는 솔루션을 요청한 이유가 여기에 있습니다. 물론 제 질문은 분명하지 않을 수 있습니다. 위에서 언급 한 mbMenu 라이브러리는 우리를 위해 일하고 있습니다. – Glenn