2016-02-27 70 views
1

不知道爲什麼這不起作用,它作爲一個對象/ undefined返回。將jquery變量傳遞給另一個函數

我有外面的doc.ready高於變量:

var video_box_original_link = ''; 

我有一個鏈接,我點擊ready功能,抓住罰款信息裏面:

$(document).on('click', '.youtube_video', function(video_box_original_link){ 
    var my_game_name = $('a.game_title_link').attr('name'); 
    var my_game_platform = $('a.game_platform_link').attr('name'); 
    video_box_original_link = "/"+my_game_platform+"/"+my_game_name+"/videos"; 
}); 

而且我有一個函數,我試圖通過這個這也是在doc.ready下面:

$(document).on('click', '.popblock_box', function(e, video_box_original_link){ 
    window.history.pushState("vidPage", "vidPopped", ""+ video_box_original_link +""); 
} 

這應該沒問題?

「e」表示腳本中不需要顯示的其他內容。

+0

只需從'function'中刪除參數'video_box_original_link'即可。 – Arvind

回答

1

像你一樣你不能傳遞變量回調就像你在function(video_box_original_link)你應該在全球範圍內定義它,然後只是用它:

var video_box_original_link = ''; 

$(document).on('click', '.youtube_video', function(){ 
    var my_game_name = $('a.game_title_link').attr('name'); 
    var my_game_platform = $('a.game_platform_link').attr('name'); 

    video_box_original_link = "/"+my_game_platform+"/"+my_game_name+"/videos"; 
}); 

$(document).on('click', '.popblock_box', function(e){ 
    window.history.pushState("vidPage", "vidPopped", ""+ video_box_original_link +""); 
} 

希望這有助於。

+1

謝謝你,我只是在doc.ready之外有一些功能,我也想使用它。都好。 – rcsnooks

+0

歡迎bro,在doc之外意味着它們將在ready函數之前加載,因此您可以在DOM準備好時使用它們檢查示例[HERE](https://jsfiddle.net/y7tz9t43/)。 –

相關問題