Einfaches Javascript, um das Verhalten von jQuery bei der Verwendung in Ereignisbehandlungsroutinen nachzuahmen.

Dies ist keine Frage zu jQuery, sondern darüber, wie jQuery ein solches Verhalten implementiert.

In jQuery können Sie dies tun:

$('#some_link_id').click(function() 
{
   alert(this.tagName); //displays 'A'
})

Kann jemand allgemein erklären (Sie müssen keinen Code schreiben), wie er die HTML-Elemente des Aufrufers des Ereignisses (ein Link in diesem speziellen Beispiel) an @ weitergibDie Stichwort

Ich habe offensichtlich versucht, den ersten Platz im jQuery-Code einzunehmen, aber ich konnte eine Zeile nicht verstehen.

Vielen Dank

AKTUALISIEREN Laut der Antwort von Anurag habe ich mich entschlossen, an dieser Stelle einen Code zu veröffentlichen, da der Code einfacher zu sein scheint als gedacht:

function AddEvent(html_element, event_name, event_function)
{      
   if(html_element.attachEvent) //IE
      html_element.attachEvent("on" + event_name, function() {event_function.call(html_element);});
   else if(html_element.addEventListener) //FF
      html_element.addEventListener(event_name, event_function, false); //don't need the 'call' trick because in FF everything already works in the right way         
}

und jetzt ahmen wir mit einem einfachen Aufruf das jQuery-Verhalten der Verwendung in Ereignisbehandlungsroutinen nach.

AddEvent(document.getElementById('some_id'), 'click', function()
{            
   alert(this.tagName); //shows 'A', and it's cross browser: works both IE and FF
}); 

Glaubst du, es gibt Fehler oder etwas, was ich falsch verstanden habe, wenn ich das Ganze zu oberflächlich betrachte ???

Antworten auf die Frage(1)

Ihre Antwort auf die Frage