2010-11-18 4 views
0
var global_ref = null; 

function a(){ 
    function some_click_handler { 
     global_ref = $(this); 
    } 
} 

// later in 
function b() 
{ 
    $(global_ref).css(...) // or global_ref.css(...) ??? 
} 

Ist über Konzept richtig? und die Syntax richtig?ist es legal, jquery reference zu speichern?

+0

Rufen Sie die Bullen, verwendet Bin Chen Globals! :) – epascarello

+0

oh, ja ich mache Kriminelle! –

Antwort

3

Sie benötigen nicht $(global_ref), da global_ref bereits ein jQuery-Objekt ist.

aber sagen, dass auf Globals unter Berufung so eine schlechte Praxis ist, aber es wird funktionieren (vorausgesetzt b() immer nach a() genannt wird)

+0

Was ist eine bessere Idee? Ich möchte das aktuelle Popup-Div in der globalen Variable speichern, so dass, wenn ein anderes Popup angezeigt wird, wir dieses vorherige Popup schließen können. –

+0

Nun, zumindest sollten Sie eine "register" Sortierklasse erstellen, die Ihre globalen Variablen enthält, so dass Sie sie in Ihrem eigenen "Namespace" haben und Sie den globalen "Namespace" nicht "verschmutzen". –

+1

@Bin Sie könnten eine Klasse für das Pop-up festlegen (wie "activePopup"). Dann können Sie es später auswählen und es ausblenden: '$ (". ActivePopup "). Hide();' –

0

Ignorieren einige Syntaxfehler dies sicherlich legal ist. Aber Sie brauchen nur global_ref.css(...) als nach global_ref = $(this) ist es bereits eine Referenz auf ein jQuery-Objekt

Verwandte Themen