ejs for 循环内链接上的 onclick 事件激活所有链接 onclick 事件

问题描述 投票:0回答:1

在 ejs forEach 循环中,我有带链接的元素,例如:

<% someArray.forEach(function(someElement) { %>
    <div>
        <h5>someElement.title</h5>
        <a href="#" onclick="<% doSomeAction(someElement) %>">Some Action</a>
    </div>
<% }); %>

当我点击一个元素上的链接时,它会触发列表中所有元素的 onclick 事件。假设我的 Express 代码如下所示:

let someArray = [
    {
        title: 'Title 1',
        body: 'This is element 1'
    },
    {
        title: 'Title 2',
        body: 'This is element 2'
    }
];
let doSomeAction = (someElement) => {
    console.log(someElement.title);
};

如果我点击

title
是“标题 1”的元素,这就是将要记录在控制台中的内容:

Title 1
Title 2

任何人都可以解释这种行为吗?我应该纠正什么,或者更好的方法是什么。我正在使用带有 ejs 的 Express,我之前没有使用 ejs 的经验,所以我可能做错了什么。

javascript express onclick ejs
1个回答
1
投票

这可能有很多年的历史了,并且在这类事情上有潜在的“重复”,但我自己偶然发现了这个问题,因为这是我发现的第一个线程,所以我想我可能会在这里链接其他线程和有用的信息。希望将来可能会出现在这个话题上的其他人(和我自己)觉得它有帮助。

与此主题相关的一般信息和代码

© www.soinside.com 2019 - 2024. All rights reserved.