Ich bin relativ neu zu jQuery
und suchte nach einer Möglichkeit, addClass
Callbacks zu erweitern. Ich fand diese Lösung here. Hier ist der Code-Teil, der die Magie tut:Erweitern von jQuery addClass, um Rückrufe zu akzeptieren - wie funktioniert es?
var oAddClass = $.fn.addClass;
$.fn.addClass = function() {
for (var i in arguments) {
var arg = arguments[i];
if (!! (arg && arg.constructor && arg.call && arg.apply)) {
arg();
delete arg;
}
}
return oAddClass.apply(this, arguments);
}
Kann jemand erklären, was hier passiert? Ich habe Grundkenntnisse in Programmierungsterminologie und habe bereits jQuery
für einfache Sachen wie Scroll-Over-Anzeigen verwendet.
Mit freundlichen Grüßen,
Nunu
Offensichtlich kommt es von [hier] (http://stackoverflow.com/a/14568870/1414562) nicht [dort] (https://gist.github.com/gabrysiak/166befef3264d0c53f47) ... :) Und als eine Randnotiz wäre dies für die Verwendung von 'setTimeout (arg.bind (this));' anstelle von 'arg()' –
@ A.Wolff Wolff von Bedeutung, was macht das 'setTimeout' in diesem Fall? –
Verzögert die Callback-Funktion zur Ausführung ** nachdem ** die Klasse hinzugefügt wurde, nicht vorher wie im vorherigen gebuchten Code. 'bind()' wird verwendet, um den relevanten Kontext für die Callback-Methode festzulegen. 'this 'in diesem Fall ist die jq abgestimmt set/obj –