簡體   English   中英

我無法在jQuery事件函數之外訪問array / obj

[英]I can't access array/obj outside jQuery event function

所以我有一個對象或數組,在所有事物的開頭,在所有事物之外:

var Thing = {title:'horse'};

然后我得到:-

$('.clickedIt').fadeOut(200, function() { console.log(Thing.title); }

那會失敗。 但是,如果我從fadeOut注銷放置在同一控制台上方,那就可以了。

如果要使某些內容具有全局性,只需在“對象” window對其進行定義。

window.Thing = { title: 'horse '};

然后像這樣使用它:

$( '.clickedIt' ).fadeOut(200, function() { 
    console.log( window.Thing.title ); 
});

請注意,不建議將多個變量放在“對象” window ,建議您使用名稱空間: http : //addyosmani.com/blog/essential-js-namespacing/

這是一個例子:

//simple JavaScript module
( function( window ) {
    //define your applications root namespace
    window.myApp = {
        Thing: { title: 'horse '}
    };
})( window );

//jQuery ready function
$( function() {
    $( '.clickedIt' ).fadeOut( 200, function() { 
        console.log( myApp.Thing.title ); 
    });
});

您分配給標題馬的值是未定義的,將其括在引號中以使其成為字符串litral,

現場演示

var Thing = {title:'horse'};
$('.clickedIt').fadeOut(200, function() { console.log(Thing.title); })​

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM