繁体   English   中英

将函数传递到 EJS 模板以在 onclick 事件中使用?

[英]Passing a function into an EJS template for use in an onclick event?

我正在尝试将一个函数传递到 EJS 模板中,并将其设置为模板中的 onclick 事件。 这可能吗?

换句话说,像这样的事情

var clickHandler = function() { console.log("I am in the click handler!"); }
var template = new EJS({ url: "/template.ejs"  });
var html = template.render({ clickHandler: clickHandler })
$("#target").html(html);

模板看起来像

<p onclick='clickHandler'>Click Me</p>
  • 你应该把你的js函数放在.ejs文件而不是服务器文件中。
  • 您应该传递函数名称而不是整个函数代码。

应用程序.js

var html = template.render({ clickHandler:"func1();" })

EJS

<p onclick='<%= clickHandler %>'>Click Me</p>

<script>
  function func1(){
    console.log("I am in the click handler 1!"); 
  }
  function func2(){
    console.log("I am in the click handler 2!"); 
  }
</script>

您可以传递如下参数

< p onclick="clickHandler('<%= obj.key %>')">点击我</p>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM