【发布时间】:2021-12-29 12:17:29
【问题描述】:
我有一个 nodejs 应用程序,它呈现一个名为 main.ejs 的 ejs 文件,其中包括一个按钮。 我想在一个外部 javascript 文件中声明一个函数,我可以在该按钮的 onclick 事件中调用它(在 main.ejs 中)。 但是每次我运行应用程序时,通过渲染页面,该函数会被自动调用,但是当我点击按钮时它不会被调用!
(我需要提一下,我已经尝试过直接在 main.ejs 中的脚本标签中编写此函数,并且效果很好。但我坚持将其移动到相应的 js 文件中)
functions.js(外部 js 文件)
function optionClick() {
console.log("Yoohooo!!");
}
module.exports = {
optionClickFunc: optionClick
};
server.js
var functions = require('./public/functions');
app.get('/question', (req, res) => {
res.render('main.ejs', {
data: {
function: functions.optionClickFunc
}
});
});
main.ejs
<button id="submit-button" onclick="'<%= data.function() %>';"> START </button>
每当我在浏览器中有这个 url:http://localhost:3000/question 时,我会在控制台中看到打印的日志消息(“Yoohooo!!”),而无需单击按钮! 当我单击按钮时它不打印消息!
有什么想法吗?非常感谢您的宝贵时间。
【问题讨论】:
标签: javascript node.js ejs