Ich verwende onClick in Tabellenzeilen wie folgt:
%Vor%Ich habe auch einige Bedürfnisse, um eine Verbindung in bestimmten Bereichen in dieser Tabellenzeile zu setzen, d. h.
%Vor%Das Problem ist, dass der "innere Link" (specialLink.php) nicht angeklickt werden kann, weil die Zeilenverknüpfung Vorrang hat. Habe ich irgendwelche Optionen hier?
Danke
Sie können stopImmediatePropagation () verwenden, um aufeinanderfolgende / eingehende Ereignisse zu umgehen.
Kurzes Beispiel:
%Vor%Testen Sie dies auf jsfiddle: Ссылка
Ich würde tatsächlich ein Ereignis auf den gesamten Tisch legen, nicht auf jede Zeile. Vor allem, wenn Sie Hunderte haben. Also ...
%Vor%Diese Methode verschmutzt nicht den globalen Gültigkeitsbereich und verwendet ein einzelnes Ereignis, das immer effizienter ist als eins pro Zeile.
Setzen Sie eine ID in die Tabellenzelle und verwenden Sie jQuery, um das Klickereignis zu verarbeiten. Zum Beispiel ...
%Vor%Ihr jQuery-Code kann jeden Klick über die Klasse der Tabellenzelle wie folgt abfangen ...
%Vor%Sie könnten sogar versuchen, die URL in ein title-Tag zu setzen, indem Sie sie in ähnlicher Weise abrufen, wie ich die ID oben abrufe, wodurch eine Menge unordentliches JavaScript und wenn / dann Code entfernt wird.
Mit jQuery's .hover () können Sie auch onmouseover und onmouseout durch eine einzige jQuery-Funktion ersetzen. Das Ergebnis ist ein Code, der kürzer und sauberer ist und in eine externe JS-Datei eingefügt werden kann, damit Sie ihn auf jeder Seite, die Sie benötigen, einfach verwenden können.
Geben Sie auf dem td-Element, das Ihren Link umgibt, das folgende attr:
ein %Vor%So lösen wir es für IE bei meiner Arbeit
Tags und Links javascript html