我有一个使用createTemplateFromFile生成的模态对话框,并使用scriptlet访问脚本文件中的函数。我试图在对话框中创建一个按钮,该按钮将使用onclick html属性运行HTML模板的script标签中托管的功能。问题是我什么也做不了。
在这一点上,我试图触发的功能仅被写入日志“它起作用了!”。到控制台,因此并不复杂。那不是触发,所以我认为它根本没有注册该事件。
function example() {
console.log("click counted");
}
<? var functions = triggerIds(); ?>
<? for (var i = 0; i < functions.length; i++) { ?>
<div>
<div onclick="example()" name="<?= functions[i] ?>">
<span><?= functions[i] ?></span>
<span class="fa-stack fa-2x" >
<i class="fas fa-circle fa-stack-2x"></i>
<i class="fas fa-trash fa-stack-1x fa-inverse"></i>
</div>
</div>
<? } ?>
我将Scriptlet部分留在了div上,因为我怀疑生成该事实然后创建对话框的事实可能会影响它,但是即使标记是在函数之前生成的,它仍应单击以调用该函数。是(我想)
答案 0 :(得分:0)
name=<?=functions[i] ?>
不带引号,因为它是变量名而不是文本字符串。functions[i]
,然后才能使用 <?var functions=[];?>
<?for(var i=0; i<10;i++){?>
<?functions[i]=i ?>
<div onclick="example()" name=<?=functions[i]?>>
<?=functions[i]?>
</div>
<?}?>
注意
之间的区别<?
和<?=
scriplets