Klaus: Jquery Frage

Beitrag lesen

Hallo Matthias,

danke für Deine Erklärungen. Die bringen mich sehr weiter. (Übrigens schade, daß Deine tolle Doku nicht als PDF verfügbar ist. Oder gibt es eine Möglichkeit, sie so auszudrucken, daß sinnvolle Seitenumbrüche stattfinden?)

Natürlich sind sie an dieser Stelle hartkodiert, was aber nicht ausschließt, dass die Funktion an anderer Stelle mit anderen Parametern aufgerufen wird.

Aber ein solcher Aufruf muß dann doch zwingenderweise "klassisch" erfolgen, stimmt das?

Man braucht keine tausend IDs hinzuzufügen, damit jQuery die gewünschten Elemente ansprechen kann, und entsprechend händisch 1000 Klick-Handler zu registrieren. jQuery kann Elemente mit CSS-artigen Selektoren auswählen,

Perfekt. Das wußte ich nicht.

<table id="tabelle"><tr><td></td></tr></table>

$('#tabelle td').click(function(event) {

console.log( event.target );
});


>   
> Dieser Code reicht aus, um alle td-Elemente mit einem Event-Handler zu versorgen. Das ist allerdings noch immer ineffektiv, da nach wie vor soviele Event-Handler registriert werden müssen, wie es td-Elemente gibt.  
  

>   
> ~~~javascript

$('#tabelle').on('click', 'td', function(event) {  

>   console.log( event.target );  
> });

… überwacht alle click-Elemente auf td-Elemente

Genau das hätte ich für Beispiel 1 schon erwartet. Ich versteh momentan nicht, wo mein Denkfehler hierbei ist. (abgesehen davon, daß ich "bind" anstelle von "on" erwartet hatte, was grade aber unwichtig ist).

Wichtiger ist, daß ich den Unterschied von Bsp.1 zu Bsp. 2 nicht überreiße.

Klaus