• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

jQuery Click Event Priorität gegenüber href

admin

Administrator
Teammitglied
Moderator
Hallo zusammen,

ich habe ein DIV welches verschiedene Links enthält. Jetzt wollte ich das gesamte DIV auch klickbar machen und nutze dafür einen netten JQuery 2-Zeiler:

Code:
$('.DIV-KLASSE').click(function() {
  window.location = $(this).find('a').attr('href'); 
  return false;
});

Soweit so gut - das funktioniert prima und das gesamte DIV ist jetzt klickbar. Allerdings nimmt diese Click-Funktion jetzt Priorität gegenüber den href Links ein. Nehmen wir an die Click-Funktion verweist auf die URL a.html (weil der erste Link im div auf a zeigt). Klickt jetzt jemand auf den zweiten Link (der auf b.html zeigt), dann wird trotz Klick auf den Link die Click-Funktion ausgeführt und der Nutzer landet auf a.html.

Das ist natürlich nicht schön.

Kennt jemand einen einfachen Weg das gesamte DIV klickbar zu halten, aber wenn einzelne Links innerhalb angeklickt werden diese weiter direkt zuzulassen?
 
Hallo zusammen,

ich habe ein DIV welches verschiedene Links enthält. Jetzt wollte ich das gesamte DIV auch klickbar machen und nutze dafür einen netten JQuery 2-Zeiler:

Code:
$('.DIV-KLASSE').click(function() {
  window.location = $(this).find('a').attr('href');
  return false;
});

Soweit so gut - das funktioniert prima und das gesamte DIV ist jetzt klickbar. Allerdings nimmt diese Click-Funktion jetzt Priorität gegenüber den href Links ein. Nehmen wir an die Click-Funktion verweist auf die URL a.html (weil der erste Link im div auf a zeigt). Klickt jetzt jemand auf den zweiten Link (der auf b.html zeigt), dann wird trotz Klick auf den Link die Click-Funktion ausgeführt und der Nutzer landet auf a.html.

Das ist natürlich nicht schön.

Kennt jemand einen einfachen Weg das gesamte DIV klickbar zu halten, aber wenn einzelne Links innerhalb angeklickt werden diese weiter direkt zuzulassen?

Verstehe ich zwar nicht wirklich aber ... ;)

Code:
$('.klasse').on('click', 'a', function(event) {
  event.stopPropagation();
});
 
Zuletzt bearbeitet:
Zurück
Oben