我试图将javascript:void(0)
插入到Wordpress菜单中,但它修改了链接到http://javascript:void(0)
。在主菜单中添加javascript
有没有办法让菜单保持原来的JavaScript?
我试图将javascript:void(0)
插入到Wordpress菜单中,但它修改了链接到http://javascript:void(0)
。在主菜单中添加javascript
有没有办法让菜单保持原来的JavaScript?
你必须寻找这个“wp_nav_menu($参数);” WordPress的功能或
他们呈现前菜单属性都逃了出来,这就是为什么JavaScript在剥下的原因,你的菜单。
@Ref https://github.com/WordPress/WordPress/blob/master/wp-includes/nav-menu-template.php#L146
您可以轻松地通过重写Walker_Nav_Menu
类在functions.php
这不会解决你的菜单中WP-管理员逃逸的JavaScript克服这一点。你仍然可以使用#
为您的网址,然后通过使用javascript:void(0)
替换为:
if (!is_admin()) add_filter('nav_menu_link_attributes', 'javascript_void_attr'), 10, 3);
function javascript_void_attr($atts, $item, $args){
if (isset($atts['href']) && $atts['href'] == '#'){
$atts['href'] = 'javascript:void(0)';
}
return $atts;
}
为什么你需要做到这一点?更好的方法是将一个事件处理程序放在一个'.js'文件中,并给''''''''href'''。 – Bojangles
嗯,我有一个使用手风琴菜单的模板,但我不想要父节点的任何链接..它似乎#工程..奇怪,因为我强硬我试过。感谢你的回答。 –