Ich möchte Folgendes für das Menü in mobilen Geräten tun: Mit einem einzigen Mausklick sollten die untergeordneten Elemente ablegen. Aber bei Doppelklick sollte es mich direkt auf seine Seite bringen. Eg. Über Artikel haben Kinder und ich auch einen Link, der mich auf die About-Seite bringt. Wenn ich darauf klicke, sollte der Unterpunkt als Blockstufenelemente erscheinen. Aber wenn ich doppelt klicke, sollte es mich direkt zu seinem Link führen (in diesem Fall zur Info-Seite).So aktivieren Sie ein Untermenü nur mit einem einzigen Klick
Ich versuchte dies:
$(document).ready(function(){
var clicks = 0;
$("ul#primary > li.menu-item-has-children").click(function(e) {
clicks++;
if(clicks === 1)
{
e.preventDeafult();
$("ul#primary > li.menu-item-has-children ul.sub-menu").css("display","block");
}
else if(clicks > 1) {
window.location($(this).attr("href"));
}
});
});
Offenbar wird die else-Anweisung ausgeführt wird. Aber wenn ich zum ersten Mal klicke, wird das Untermenü nicht angezeigt.
Ich habe auch versucht mit slideToggle() anstelle der CSS-Eigenschaft, aber es funktioniert nicht. Leider befindet sich die Seite immer noch auf einer Test-Domain und ist passwortgeschützt, daher kann ich den Link hier nicht einfügen. Hoffe, du kannst helfen.
jQuery ein Doppelklickfunktion hat, die helfen könnten. https://api.jquery.com/dblclick/ –
Gibt es nur einen 'list-item'? Wenn nicht, würde der Versuch, eine zweite Liste zu erweitern, dazu führen, dass die Anweisung "else" ausgeführt wird. –
Überprüfen Sie lieber, ob die aktuelle angeklickte Liste bereits erweitert ist, dann folgen Sie der href ist es ist. –