gpt4 book ai didi

javascript - 动态生成的按钮中未触发事件

转载 作者:行者123 更新时间:2023-12-01 00:58:58 25 4
gpt4 key购买 nike

我已动态生成按钮,但未触发按下事件。

我还尝试为每个新闻事件指定相同的函数名称,但它不起作用。

for (var i = 1; i < 4; i++) {
var pr = "onPress" + i;
var oButton = new sap.m.Button({
text: "Save",
press: pr
});
// ...
}

单击按钮后控制台中显示以下错误:

EventProvider-dbg.js:228 Uncaught TypeError: I.fFunction.call is not a function
at f.b.fireEvent (EventProvider-dbg.js:228)
at f.b.fireEvent (Element-dbg.js:557)
at f.firePress (ManagedObjectMetadata-dbg.js:764)
at f.d.ontap (Button-dbg.js:300)
at f.b._handleEvent (Element-dbg.js:259)
at constructor.U._handleEvent (UIArea-dbg.js:921)
at HTMLDivElement.dispatch (jquery-dbg.js:4737)
at g (jquery-mobile-custom-dbg.js:1881)
at HTMLDivElement.r (jquery-mobile-custom-dbg.js:2000)
at HTMLDivElement.dispatch (jquery-dbg.js:4737)

最佳答案

press 应该是一个函数,尝试这样的事情:

for (let i = 1; i < 4; i++) {
var oButton = new sap.m.Button({
text: "Save",
press: () => {
console.log("onPress" + i);
}
});
// ...
}

我还使用 let 关键字声明了 i,因为回调将异步执行

关于javascript - 动态生成的按钮中未触发事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56281288/

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