提问者:小点点

Javascript回调函数无法访问父函数变量


我对Javascript非常陌生,我正在尝试理解回调,以获取作为地址的文本框输入,并希望在按钮单击上完成我的核心工作。 在html方面,我有N个文本框,为每个地址从文本框相同的功能必须工作

window.addEventListener('load', function(){

var variable1;
var variable2;

Buttons = document.getElementsByClassName('Do');
  for (var i = 0; i < Buttons .length; i++) {
    Buttons [i].addEventListener('click',Do);
  }

  function Do(event){
    let Id = event.target.parentNode.parentNode.id;
    let Tag = document.getElementById(Id);
    let address = Tag.children[1];
    callbackfn.bind(this);
    backendlibraryfuntion(callbackfn);
  }
  function callbackfn(x,y){
    console.log(variable1); //working perfectly
    console.log(variable2); //working perfectly
    console.log(address); // throwing undefined error 
  }
  
});

我在回调中访问地址值时遇到了问题,我的目标是获得N个地址并基于地址启动N个并行实例。 谁能帮我这个忙。


共1个答案

匿名用户

在variable1和variable2附近定义address变量,那么您就不会遇到这个特殊的错误。

var variable1;
var variable2;
let address;

相关问题