从Asp:Menu运行每个MenuItem的javascript函数

时间:2010-11-24 10:01:09

标签: javascript asp.net menuitem

我想在asp:menu中为每个MenuItem运行一个简单的javascript函数。

<asp:Menu ID="_mainMenu" runat="server" ClientIDMode="Static" EnableTheming="False"
StaticBottomSeparatorImageUrl="~/Images/menuSeparator.gif" Orientation="Horizontal"
RenderingMode="Table" OnMenuItemClick="_menu_MenuItemClick" SkipLinkText="">
</asp:Menu>

如果我在Page_Init _mainMenu.Attributes.Add("onclick", "javascript:jsFunction();")上添加该属性,我只会在描述不是每个MenuItem上的菜单的表上获取onclick事件,这些菜单是指向其他页面的链接。

1 个答案:

答案 0 :(得分:4)

首先将css类添加到菜单中:

<asp:Menu ID="_mainMenu" runat="server" CssClass="MyMenu" ...

然后你可以使用这个jQuery代码来处理里面所有链接的click事件:

<script type="text/javascript">
$(function() {
    $(".MyMenu a").each(function(index) {
        $(this).click(function() {
            alert($(this).attr("href"));
            return false;
        });
    });
});
</script>

以上示例将在点击时显示链接href的警报,您可以执行任何您想要的操作。它也会取消链接,只需删除“return false;” line,以便像往常一样重定向链接。