Dies ist keine Frage über jQuery, sondern darüber, wie jQuery ein solches Verhalten implementiert.Einfaches JavaScript zum Nachahmen von jQuery-Verhalten bei der Verwendung dieses in Ereignishandlern
In jQuery können Sie dies tun:
$('#some_link_id').click(function()
{
alert(this.tagName); //displays 'A'
})
jemand im Allgemeinen (keine Notwendigkeit, Sie Code zu schreiben) erklären konnte, wie sie das Ereignis des Anrufers html elments passieren (einen Link in diesem speziellen Beispiel tun erhalten) in die diese schlüsselwort?
Ich habe offensichtlich versucht, 1. in jQuery Code aussehen, aber ich konnte eine Zeile nicht verstehen.
Danke!
UPDATE: nach Anurag Antwort habe ich beschlossen, an dieser Stelle einige Code zu schreiben, weil es einfacher zu Code scheint als das, was ich dachte:
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 dann jetzt mit einem einfachen Anruf wir jQuery nachahmen Verhalten dieser Handler in Veranstaltungen mit
AddEvent(document.getElementById('some_id'), 'click', function()
{
alert(this.tagName); //shows 'A', and it's cross browser: works both IE and FF
});
glauben Sie, dass es irgendwelche Fehler oder etwas, das ich das alles, was in einem zu sup missverstanden Einnahme früherer Weg ???
FF sieht gut aus, habe nicht IE spezifische Ereignisbehandlung in einer langen Zeit geschrieben, aber wenn es funktioniert, dann ist alles gut! :) – Anurag