Ich verstehe, dass Sie eine Methode wie folgt aufrufen, wenn Sie $.fn
erweitern.
($ == jQuery
)
//$("div").myMethod();
$.fn.extend({
myMethod: function(){...}
});
Und so, wenn Sie erweitern die jQuery-Objekt:
//$.myMethod2();
$.extend({
myMethod2: function(){...}
});
Aber ich verstehe nicht ganz, was die $()
hier tut:
// Es gibt ein paar Methoden, die hier genannt werden. Einige mit dem gleichen Methodennamen (initiieren), was schlecht ist.
// Aber vielleicht ist das, warum das leere jQuery-Objekt, so dass die Methodennamen benötigt wird, kollidieren nicht
$(function() {
$().functionName({
something: 'something'
}).myMethod();
$().func1({
x: 1
}).initiate();
$().func2({
y: 2
}).initiate();
});
Ist es mit der Tatsache zu tun hat, wobei das Verfahren der Funktionsnamen aufgerufen wird?
Vielen Dank im Voraus und hoffe, das macht Sinn.
Ich weiß nicht, warum jemand es entweder tun würde, aber wenn man bedenkt, dass es eine Frage über benutzerdefinierte Funktionen, können wir nicht wissen, dass nichts wird passieren. '$ .fn.extend ({test: function() {alert ('das wird passieren');}}); $(). test(); ' –
@David: du hast Recht. Natürlich würde der Code dieser Methoden ausgeführt werden. Aber es gibt keinen Grund, solche Methoden im jQuery '.fn'-Namespace zu haben, da sie nicht auf umschlossene Elemente einwirken können. – jAndy
stimme ich völlig zu. OP hat höchstwahrscheinlich auf Code gestoßen, der von jemandem geschrieben wurde, der nicht wusste, was sie tun würden, aber ich wäre überrascht, wenn der vorliegende Code überhaupt nichts tun würde. –