javascript - 如何在 addEventListener 方法之外访问变量值?

标签 javascript function addeventlistener

我正在尝试访问 addeventlistner 外部“var accInfo”的值,以便我可以使用该对象进行进一步编码。我是 javascript 的初学者,不知道 jquery 和其他框架,所以请指导我。谢谢

let form1 = document.getElementById('form1');

form1.addEventListener('submit', () => {
    let fname = document.getElementById("defaultRegisterFormFirstName").value
    let lname = document.getElementById("defaultRegisterFormLastName").value
    let email = document.getElementById("defaultRegisterFormEmail").value
    var accInfo = acc(fname, lname,email);
    console.log(accInfo)
    return false
})

function acc(fname,lname, email){
    let accInfo = {fname, lname, email}
    return accInfo;
}

最佳答案

将 accInfo 定义为全局变量,如下所示:

var accInfo; //leave it undefined for now
form1.addEventListener('submit', () => {
    //...
    accInfo = acc(fname, lname,email);
    //...
})

function acc(fname,lname, email){
    let anotherVariableName = {fname, lname, email}
    return anotherVariableName;
}

//now you can use it outside, but it will be undefined until the event listener is called
console.log(accInfo);

您必须更改函数 acc 为其变量指定另一个名称

关于javascript - 如何在 addEventListener 方法之外访问变量值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61215939/

相关文章:

javascript - 无需按下鼠标即可拖动项目

javascript - JavaScript 对象的 For 循环

javascript - For 循环和 ForEach 循环在 getJSON 中表现出不同的行为

javascript - 如何在 React-Native 中从 firebase 返回一组 child

Javascript - 如何将变量用作函数*和*对象文字

bash - Linux : Calling a function within a case

c - 无法在递归函数中返回正确的变量值

javascript - 在 IE 上使用 javascript 添加 img 标签时 onmouseover 不起作用

javascript - addEventListener 以立即函数模式调用函数两次

javascript - React Native 无法读取属性未定义错误