Ich habe es geschafft, das Attributelement eines Listenelements zu entfernen, aber ich habe Mühe, Folgendes zu tun: Wenn ich auf ein Listenelement klicke, sollte es eine Klasse namens wichtig hinzufügen, andernfalls muss die Klasse nicht existieren.jquery single click funktioniert nicht richtig
Ich versuchte dies mit jQuery:
$(document).ready(function(){
var origHref = $('ul#primary-menu > li.menu-item-has-children > a').attr('href');
//alert(origHref);
var clicks = 0;
$('ul#primary-menu > li.menu-item-has-children > a').removeAttr("href").data("origHref",origHref);
$('ul#primary-menu > li.menu-item-has-children').click(function(){
clicks++;
if(clicks === 1){
$('ul#primary-menu > li.menu-item-has-children').addClass('important');
}
else if(clicks > 1){
alert("you clicked twice");
}
});
});
Problem: Wenn ich das Element und klicken Sie auf die Liste zum ersten Mal prüfen, happens.Only nichts, wenn ich zum zweiten Mal klicken, dass die Klasse hinzugefügt wird .
HINWEIS: Ich möchte das nur für mobile Geräte tun, also brauchen Sie sich keine Sorgen über Bildschirme zu machen, die breiter als 800 Pixel sind.
Bitte helfen.
Keine Notwendigkeit Zustand zu überprüfen, können Sie direkt '.addClass verwenden können (‚wichtig‘)', wenn die Klasse ist nicht da wird es hinzugefügt werden sonst ignoriert. Beachten Sie auch '$ ('ul # primary-menu> li.menu-item-has-children'). AddClass ('wichtig')' fügt allen 'li' Elementen eine Klasse hinzu, __Was genau ist Ihr Problem? __ – Satpal
Sie kann element.oneclick – AhbapAldirmaz
@Satpal versuchen. Ich möchte eine Klasse hinzufügen, die wichtig ist, wenn ich zum ersten Mal auf ein Listenelement klicke, um Elemente eines Unterelements anzuzeigen, und wenn ich zum zweiten Mal klicke, sollte es mich zu einer anderen Seite führen. Sie können basierend auf dieser Frage, die letzte Woche gepostet wurde, antworten: http://stackoverflow.com/questions/39911486/how-to-prevent-a-link-action-on-a-first-click-and-allowing-second -click-only-usi/39912241? noredirect = 1 # comment67114948_39912241 –