不确定为什么这不起作用,并且它作为对象/未定义返回。
我在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 :(得分: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 +"");
}
希望这有帮助。