gpt4 book ai didi

Javascript 等待异步从 Firebase 检索数据

转载 作者:行者123 更新时间:2023-11-27 23:40:29 25 4
gpt4 key购买 nike

我有以下代码,可以在运行时使用 DOM 在我的 Javascript 应用程序中创建一个带有一些输入字段和按钮的表单(在 Firebase 循环中,我已将其删除,因为无论有没有它,我都会遇到相同的问题)。

这是我的片段:

var form = document.createElement("FORM");
var fieldset = document.createElement("FIELDSET");
var inputId = document.createElement("INPUT");
inputId.value = "ID";
fieldset.appendChild(inputId);
var inputVillage = document.createElement("INPUT");
inputVillage.value = "Villaggio";
fieldset.appendChild(inputVillage);
var inputImage = document.createElement("INPUT");
inputImage.value = "Immagine";
fieldset.appendChild(inputImage);
var buttonMod = document.createElement("INPUT");
buttonMod.setAttribute("type", "button");
buttonMod.value = "Modifica";
// HERE my problem
buttonMod.addEventListener("click",tryfunc("Mark"));
// or (same result)
// buttonMod.onclick(tryfunc);
fieldset.appendChild(buttonMod);
form.appendChild(fieldset);
document.body.appendChild(form);

function tryfunc(name) {
[...]
document.write("Hello " + name);
// I also tried with this instruction found here on stackoverflow
// (but this generate other problems)
//name.stopPropagation();
}

我的 tryfunc("xxx") 在我的应用程序启动时自动触发,如何防止它?

最佳答案

您正在立即调用您的函数:tryfunc("Mark")。注意,函数调用()括号。相反,您需要具有匿名函数并从内部调用您的函数:

buttonMod.addEventListener("click", function() {
tryfunc("Mark");
});

关于Javascript 等待异步从 Firebase 检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33717897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com