按钮Onclick功能在加载时执行

时间:2019-06-12 17:06:11

标签: javascript express ejs

页面加载后,无论是否单击按钮,该函数都会执行,请注意我正在使用EJS。

我尝试将<%标签更改为<%=<%-,并使其变成箭头功能:<% () => Delt(this.id);%>

<%function Delt() { Array.pop(); }%>
<button onclick="<%Delt(this.id);%>">Delete</button>

1 个答案:

答案 0 :(得分:0)

您在这里将客户端和服务器端弄糊涂了,ejs标记中的任何内容都在您的dom加载之前在服务器上执行。因此,ejs标记中定义的功能被执行了,因为它们是不在客户端js中。尝试在客户端js中而不是在ejs中定义函数,与函数调用相同。

<%function Delt() { Array.pop(); }%> // function definition in ejs
<button onclick="<%Delt(this.id);%>">Delete</button> // function call in ejs
  

因此,所有内容都在dom加载之前在服务器中执行,您只是在ejs中进行正常的函数调用,因此看不到您的浏览器是onclick的一部分。