HTML / javascript上下文菜单,通过AJAX加载子菜单项

时间:2011-10-20 22:56:59

标签: javascript jquery html ajax

有没有人知道支持回调的HTML / JavaScript / jQuery上下文菜单实现,这些回调允许我通过AJAX加载顶级和子菜单项?

我需要支持非常动态的上下文菜单,其中可用菜单项由权限,数据访问权限和数据字典关系确定。我无法预先创建菜单项,因为菜单结构的项目和深度是在运行时确定的。

我特别想知道为jQuery 1.9开发的新iPod style menu是否支持动态AJAX加载,因为这种菜单风格非常适合我们的要求。

感谢。 格伦。

1 个答案:

答案 0 :(得分:1)

试试这个:

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

易于实施和维护。

修改

您可以通过向UL提供ID来动态访问您的菜单:

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

然后使用javascript,您可以访问此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> 

关于样式,我猜你可以使用CSS来获得你需要的东西。

希望这会有所帮助。