Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
禁用asp.net菜单控件生成的javascript_Javascript_Asp.net_Menu - Fatal编程技术网

禁用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 {

我有一个使用asp.net菜单控件创建的菜单。我添加了JQuery脚本,它将显示从弹出式更改为手风琴式。但是,弹出窗口仍然出现,因此总体上出现的是“鼠标悬停在菜单上->子菜单出现-->子菜单回滚”

我正在寻找的是一种方法,可以禁用asp.net生成的javascript,使子菜单显示在鼠标上方,这样我的替换脚本就可以独立运行

在类似于这个问题的其他答案中,我发现如下:

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集成,等等

    下面是一个在菜单上使用的示例: