禁用asp.net菜单控件生成的javascript
我有一个使用asp.net菜单控件创建的菜单。我添加了JQuery脚本,它将显示从弹出式更改为手风琴式。但是,弹出窗口仍然出现,因此总体上出现的是“鼠标悬停在菜单上->子菜单出现-->子菜单回滚” 我正在寻找的是一种方法,可以禁用asp.net生成的javascript,使子菜单显示在鼠标上方,这样我的替换脚本就可以独立运行 在类似于这个问题的其他答案中,我发现如下:禁用asp.net菜单控件生成的javascript,javascript,asp.net,menu,Javascript,Asp.net,Menu,我有一个使用asp.net菜单控件创建的菜单。我添加了JQuery脚本,它将显示从弹出式更改为手风琴式。但是,弹出窗口仍然出现,因此总体上出现的是“鼠标悬停在菜单上->子菜单出现-->子菜单回滚” 我正在寻找的是一种方法,可以禁用asp.net生成的javascript,使子菜单显示在鼠标上方,这样我的替换脚本就可以独立运行 在类似于这个问题的其他答案中,我发现如下: public class MyCustomMenu : System.Web.UI.WebControls.Menu {
public class MyCustomMenu : System.Web.UI.WebControls.Menu
{
protected override void OnPreRender(EventArgs e)
{
// Don't call base OnPreRender
//base.OnPreRender(e);
}
}
然而,将其添加到我的masterpage.cs文件并没有解决这个问题 如果查看菜单控件呈现的HTML,您将看到每个菜单元素都有一个鼠标悬停的函数调用,称为menu\u HoverStatic。要禁用它,请在ASPX标记中包含同名的空函数:
<script type="text/javascript">
Menu_HoverStatic = function () { };
</script>
Menu_HoverStatic=函数(){};
这将有效地禁用原始鼠标悬停。如果需要,可以使用此方法禁用其他原始事件处理程序。不是每个人都熟悉的一件事是使用自定义标准控件的呈现方式 例如,您可以使用适配器将菜单的输出更改为干净的
和
元素,并将其与jquery集成,等等
下面是一个在菜单上使用的示例: