2010-11-24 1 views
4

Я хочу запустить простую функцию javascript для каждого MenuItem из меню asp:.работает функция javascript каждый MenuItem из Asp: Меню

<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();") я получаю OnClick событие только на столе, который описывает меню не на каждом MenuItem, которые являются ссылками на другие страницы.

ответ

4

Сначала нужно добавить класс CSS в меню:

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

Затем вы можете использовать этот JQuery код для обработки события щелчка всех ссылок внутри:

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

Приведенный выше пример будет показывать предупреждение ссылка href, когда она нажата, вы можете делать все, что хотите, вместо этого. Он также отменит ссылку, просто удалите «return false»; чтобы перенаправить ссылку, как обычно.

+0

+1. Это помогло мне. можете ли вы показать, как показывать предупреждение при нажатии пунктов подменю? – Pankaj 2012-03-29 19:26:13