Axel Richter: onclick vermeiden?

Beitrag lesen

Hallo,

<td class="day_data_box" onclick="javascript:document.location.href='seite2.html'">
<a href"seite3.html">seite3</a>      <a href="seite4.html" title="delete event">
<img src="bild.jpg" border="0"></a>
<a id="quickinfo" href="javascript:void(0);" title="show Quickinfo"><img src="information.png" border="0" alt="Quickinfo"/></a>
</td>

der <td> löst mit onclick eine redirection aus!

Ja, aber document.location existiert nicht, siehe http://de.selfhtml.org/javascript/objekte/location.htm#allgemeines.

darin befinden sich jedoch drei links, wovon der letzte ncihts auslösen soll!

Warum ist es dann ein Link?

bei dem ersten und zweiten verweis auf "seite3 und seite 4" funktioniert es natürlich die hrefs zu laden!

Im FF wird aber immer _auch_ seite2 vorher geladen. Das siehst Du daran, dass Du zwei Mal in der Location zurück gehen musst, um wieder auf die Ausgangsseite zu kommen.

wie kann ich dies verhindern?

Indem Du die Weiterreichung des Click-Events unterbindest.
Event.stopPropagation();

Dein Beispiel:

  
<table>  
<tr>  
<td class="day_data_box" onclick="window.location.href='seite2.html'">  
 <a href="seite3.html" onclick="if(event && event.stopPropagation) event.stopPropagation();">seite3</a>  
 <a href="seite4.html" onclick="if(event && event.stopPropagation) event.stopPropagation();"><img src="bild.jpg" border="0" alt="bild" title="delete event" /></a>  
 <a id="quickinfo" href="javascript:void(0);" onclick="if(event && event.stopPropagation) event.stopPropagation();"><img src="information.png" border="0" alt="Quickinfo" title="show Quickinfo" /></a>  
</td>  
</tr>  
</table>  

viele Grüße

Axel