2012-06-20 8 views
0

У меня есть меню, созданное с помощью элемента управления asp.net. Я добавил сценарий JQuery, который изменяет отображение от появляющегося всплытия до выталкивания стиля аккордеона. Однако появление поп-музыки по-прежнему происходит, поэтому в общем случае происходит следующее: «Мышь над меню -> Появляется подменю -> Подменю« Подменю »вверх»Отключить javascript, сгенерированный элементом управления меню asp.net

То, что я ищу, является методом отключения javascript, который asp .net генерирует, что приводит к появлению подменю на мыши, поэтому сценарий замены, который у меня есть, может работать автономно.

В других ответах похожие на этот вопрос я нашел следующее:

public class MyCustomMenu : System.Web.UI.WebControls.Menu 
{ 
    protected override void OnPreRender(EventArgs e) 
    { 
     // Don't call base OnPreRender 
     //base.OnPreRender(e); 
    } 
} 

Однако, добавив, что в мой файл masterpage.cs не решить эту проблему.

ответ

1

Если вы посмотрите на HTML, отображаемый с помощью элемента управления меню, вы увидите, что каждый элемент меню имеет вызов функции с помощью мыши, называемый Menu_HoverStatic. Для того, чтобы отключить его просто включить пустую функцию с тем же именем в вашем ASPX разметке:

<script type="text/javascript"> 
    Menu_HoverStatic = function() { }; 
</script> 

Это позволит эффективно отключить оригинальный курсор. Используя этот метод, вы можете отключить другие оригинальные обработчики событий, если это необходимо.

0

Одна вещь, с которой знакомы не все, - это использование Control Adapters, чтобы настроить способ стандартного управления.

Использование адаптеров можно, например, изменить выход в меню, чтобы быть чистыми <ul> и <li> элементы, интегрировать его с JQuery и т.д.

Вот пример использования ASP.NET 2.0 CSS Friendly Control Adapters на менюшкам: http://www.asp.net/cssadapters/WalkThru/WalkThrough.aspx#SimpleMenu

Смежные вопросы