2016-07-26 14 views
0

Beim Versuch, eine Vorstellung davon zu bekommen, wie jQuryUI gemacht wird, sah ich in dem Code, dass sie das extend Dienstprogramm verwendet. Es wurde jedoch verwendet, um ein anonymes Objekt zu erweitern.jQuery An anonymes Objekt erweitern?

kann mir bitte jemand erklären?

$.fn.extend({ 
    scrollParent: function(includeHidden) { 
     var position = this.css("position"), 
      excludeStaticParent = position === "absolute", 
/// and the code goes on 

Antwort

1

jQuery.fn.extend()

Als documentation Zustände, jQuery.fn.extend() Methode

Zusammenführen der Inhalte eines Objekts auf dem Prototyp jQuery jQuery neue Instanzmethoden bereitzustellen. So

, erweitern Sie Ihren Code jQuery Prototyp (fn ist nur ein alias zu jQuery Prototyp), indem Sie die Methode scrollParent

Sie diese neue Methode wie folgt auf jede jQuery-Objekt aufrufen können:

$('#myElement').scrollParent(includeHidden); 

jQuery.extend()

jQuery.extend(object1, object2) verschmilzt nur object2 um object1

Überprüfen Sie die $.extend() Dokumentation für weitere Einzelheiten

+0

Verstanden. '$ .extend' ist nicht ähnlich zu' $ .fn.extend' – yossi

+0

Der erste erweitert ein Objekt, das Sie bereitstellen, der zweite erweitert den jQuery-Prototyp – kapantzak

1

Der Code erweitert $ (was das gleiche wie das jQuery Objekt ist), so ist nun eine Funktion $.scrollParent. Siehe here.

Hier ist auch ein Beispiel, von dieser Seite.

<script> 
jQuery.fn.extend({ 
    check: function() { 
    return this.each(function() { 
     this.checked = true; 
    }); 
    }, 
    uncheck: function() { 
    return this.each(function() { 
     this.checked = false; 
    }); 
    } 
}); 

// Use the newly created .check() method 
$("input[type='checkbox']").check(); 
</script> 
+0

Dank. Ich habs. – yossi

Verwandte Themen