Ich denke, dass ich auch Javascript gesehen habe:; Während sich das Web entwickelt, ist es schwierig, die verfügbaren Tricks im Auge zu behalten. Dabei geht es hauptsächlich um die Zugänglichkeit (neben Javascript: void (0);), und nur eine kleine Korrektur ist kein Javascript: void (0). aber Javascript: void (0); was bedeutet, nichts zu tun, als falsch zurückzugeben; obwohl nicht sicher, ob Javascript: return false; macht das gleiche ..
Ich benutze immer und würde vorschlagen, Javascript zu verwenden: void (0); aus ein paar gründen .. meiner bescheidenen meinung nach natürlich.
1.) Ich benutze es wegen der gleichen Person, die oben erwähnt wurde. Href = "#" ist nicht angemessen, da es bedeuten könnte, nach oben zu gehen, und selbst in diesem Fall wäre '#top' für diesen Fall angemessener. Dies kann aber auch etwas anderes in Ihrem Code auslösen, das # (Hashes) verwendet. Ein weiterer Grund besteht darin, Konflikte mit anderem Javascript zu vermeiden, das möglicherweise # verwendet. Und ich neige dazu, dies zu suchen, wenn ich zum Beispiel ein Plugin verwende, und sie sofort zu ersetzen. Href = '#' to href = 'javascript: void (0);' oder href = 'Javascript:;'
2.) Wenn ich eine Funktion für eine Gruppe bestimmter Anchor-Tags wiederverwenden möchte, kann ich sie mit dem Selektor für jedes Attribut aufrufen, ohne mir Gedanken über das Erkennen des Klickereignisses und das Verhindern der Standardaktion machen zu müssen, und ich mache es, ohne darüber nachzudenken es als Entwicklungspräferenz.
3.) In den meisten Fällen, wenn Sie Linkbuilding mit Javascript durchführen: void (0); versucht, einen Link so zu erstellen, dass er nicht wie der alte href = rel = nofollow verfolgt wird, um zu vermeiden, dass Links indiziert werden, bei denen es sich um Aktionen handelt. Ich bin mir da nicht so sicher, nur weil ich gehört habe, dass Crawler und Roboter jetzt sogar Flash lesen können. Es würde mich also nicht wundern, wenn sie Javascript-Links lesen können
4.) Unter Bezugnahme auf 2.) können Sie auf eine Klasse wie zielen und vergessen, die Standardaktion für Klickereignisse zu verhindern, indem Sie href = "javascript: void (0);" und dann die Klasse direkt vom Selektor in der jQuery-Funktion aus anvisieren.
jQuery(function($)
{
$('a[rel="-your-rel-id"]') ... off('click').on('click',function()
//from the class
$('a.-the-class') ... off('click').on('click',function()
$('a#-the-id').off('click').on('click',function()
{
--do something with this link
});
});
Ich fühle mich in der Klasse eher wohl, als Sie es immer tun können ...
$ (eine # -Ihre-ID) .hasClass (-Ihre Klasse-)
oder eine andere interessante Kombination und beeinflussen viele Links. Ich werde also wirklich nicht empfehlen, das A nur als Selektor zu verwenden.
Normalerweise sehe ich hier Folgendes:
jQuery(function($)
{
$('a[rel="-your-rel-id"]').on('click',function(event)
//do something
//prevent the click as is passed to the function as an event
event.preventDefault();
});
});
onclickbei weitem die einfachste und sauberste Methode zum Anhängen eines Ereignishandlers an ein Element sind.