Ich muss etwas übersehen haben. Das jQuery-Plugin-Tutorial fand aquí Im Abschnitt "Namespacing" -> "Plugin-Methoden" findet sich die folgende Plugin-Deklaration. Was ich hier nicht verstehe, ist die Umfang der Methoden variabel; ich meine, sollte nicht Methoden als Variable in der QuickInfo definiert werden? Sobald diese anonyme Funktion ausgeführt wird, Methoden geht aus dem Geltungsbereich heraus, wenn ich das richtig verstehe, weil es als var innerhalb einer Funktion definiert ist. Wie kommt es, dass tooltip auf var-Methoden verweist, die außerhalb des Anwendungsbereichs liegen, wenn tooltip aufgerufen wird? Was übersehe ich?
(function( $ ){
var methods = {
init : function( options ) { // THIS },
show : function( ) { // IS },
hide : function( ) { // GOOD },
update : function( content ) { // !!! }
};
$.fn.tooltip = function( method ) {
// Method calling logic
if ( methods[method] ) {
return methods[ method ].apply( this, Array.prototype.slice.call( arguments, 1 ));
} else if ( typeof method === 'object' || ! method ) {
return methods.init.apply( this, arguments );
} else {
$.error( 'Method ' + method + ' does not exist on jQuery.tooltip' );
}
};
})( jQuery );