页面加载后,无论是否单击按钮,该函数都会执行,请注意我正在使用EJS。
我尝试将<%
标签更改为<%=
和<%-
,并使其变成箭头功能:<% () => Delt(this.id);%>
。
<%function Delt() { Array.pop(); }%>
<button onclick="<%Delt(this.id);%>">Delete</button>
答案 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的一部分。