Javascript ';增补列表器';未定义的

Javascript ';增补列表器';未定义的,javascript,jquery,ajax,giphy-api,Javascript,Jquery,Ajax,Giphy Api,我正在尝试这样做,当用户单击30个团队中的一个时,被单击的团队将使用Giphy API进行查询 使用的giphy API密钥是公共API密钥 // all 30 NBA Teams // var predefinedButtons = [ "Atlanta Hawks", "Boston Celtics", "Brooklyn Nets", "Charlotte Hornets", "Chicago Bulls", "Cleveland Cavaliers", "Da

我正在尝试这样做,当用户单击30个团队中的一个时,被单击的团队将使用Giphy API进行查询

使用的giphy API密钥是公共API密钥

// all 30 NBA Teams //
var predefinedButtons = [
  "Atlanta Hawks",
  "Boston Celtics",
  "Brooklyn Nets",
  "Charlotte Hornets",
  "Chicago Bulls",
  "Cleveland Cavaliers",
  "Dallas Mavericks",
  "Denver Nuggets",
  "Detroit Pistons",
  "Golden State Warriors",
  "Houston Rockets",
  "Indiana Pacers",
  "LA Clippers",
  "LA Lakers ",
  "Memphis Grizzlies",
  "Miami Heat",
  "Milwaukee Bucks",
  "Minnesota Timberwolves",
  "New Orleans Hornets",
  "New York Knicks",
  "Oklahoma City Thunder",
  "Orlando Magic",
  "Philadelphia Sixers",
  "Phoenix Suns",
  "Portland Trail Blazers",
  "Sacramento Kings",
  "San Antonio Spurs",
  "Toronto Raptors",
  "Utah Jazz",
  "Washington Wizards"
];
console.log(predefinedButtons);


// The Buttons added dynamically //
var $nbaTeams;

var nbaButtons = function nbaGiphy() {
  for ( i in predefinedButtons ) {
    $nbaTeams = $("<button class='.btn btn-secondary' 'onclick='getNBAGiphy()''>").text(predefinedButtons[i]);
    $("#nbaTags").append($nbaTeams);
  }

}
nbaButtons();


//  The code below is where the event listener is 'undefined'  //
function getNBAGiphy() {
  var nbaSearchGifs;
  nbaSearchGifs.addEventListener('click', function() {
    nbaSearchGifs = $(".btn btn-secondary").val();
    xhr = $.get("http://api.giphy.com/v1/gifs/search?q="+nbaSearchGifs+"&api_key=dc6zaTOxFJmzC&limit=15");
    xhr.done(function (response) {
      console.log("success got data", response);
      nbaTeamData = response.data
      $("#giphyContent").html("");
      console.log(nbaSearchGifs);
    })
  });
}
getNBAGiphy();
//所有30支NBA球队//
变量预定义按钮=[
“亚特兰大鹰队”,
“波士顿凯尔特人”,
“布鲁克林网”,
“夏洛特黄蜂队”,
“芝加哥公牛队”,
“克利夫兰骑士队”,
“达拉斯小牛队”,
“丹佛掘金”,
“底特律活塞”,
“金州勇士”,
“休斯顿火箭队”,
“印第安纳步行者”,
“快船队”,
“洛杉矶湖人队”,
“孟菲斯灰熊”,
“迈阿密热火”,
“密尔沃基雄鹿队”,
“明尼苏达森林狼”,
“新奥尔良黄蜂队”,
“纽约尼克斯队”,
“俄克拉荷马城之雷”,
“奥兰多魔术”,
“费城六人队”,
“凤凰太阳”,
“波特兰开拓者”,
“萨克拉门托国王”,
“圣安东尼奥马刺队”,
“多伦多猛禽”,
“犹他爵士”,
“华盛顿奇才”
];
console.log(预定义按钮);
//按钮是动态添加的//
var$nbaTeams;
var nbaButtons=函数nbaGiphy(){
用于(预定义按钮中的i){
$nbaTeams=$(“”)。文本(预定义按钮[i]);
美元(“#nbaTags”)。追加($nbaTeams);
}
}
nbaButtons();
//下面的代码是事件侦听器“未定义”的地方//
函数getnbagyphy(){
var nbaSearchGifs;
nbaSearchGifs.addEventListener('click',function()){
nbaSearchGifs=$(“.btn btn secondary”).val();
xhr=$.get(“http://api.giphy.com/v1/gifs/search?q=“+nbaSearchGifs+”&api_key=dc6zaTOxFJmzC&limit=15”);
xhr.done(函数(响应){
日志(“成功获取数据”,响应);
nbaTeamData=response.data
$(“#giphyContent”).html(“”);
console.log(nbaSearchGifs);
})
});
}
getnbagyphy();

您正在声明变量,但尚未为其分配任何值。因此,默认情况下,它是未定义的。我指的代码是:

 function getNBAGiphy() {
    var nbaSearchGifs;
      nbaSearchGifs.addeventListner

什么是nbaSearchGifs。这一行
$(“”)
也是错误的,这只是我在函数之前声明的一个变量,以查看我在哪里声明变量可能是问题所在。另外,您建议我如何修复您所指的行?您建议我如何修复此行?用您希望添加的任何内容填充它。。。我假设您正在尝试将侦听器添加到按钮中,单击这些按钮时,您已经在调用此函数。我不知道你是否需要再做一次addEventListener。单击按钮应调用此函数。否则,请阅读一些关于在按钮上设置onClickListeners的文档。。。。