onclick html属性没有执行任何操作

时间:2019-09-05 06:00:09

标签: javascript google-apps-script google-sheets google-apps-script-web-application

我有一个使用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上,因为我怀疑生成该事实然后创建对话框的事实可能会影响它,但是即使标记是在函数之前生成的,它仍应单击以调用该函数。是(我想)

1 个答案:

答案 0 :(得分:0)

  1. 要触发点击事件,您需要具有可点击的文本。
  2. name=<?=functions[i] ?>不带引号,因为它是变量名而不是文本字符串。
  3. 您需要先定义functions[i],然后才能使用

示例:

  <?var functions=[];?>
  <?for(var i=0; i<10;i++){?>
  <?functions[i]=i ?>
       <div onclick="example()" name=<?=functions[i]?>> 
         <?=functions[i]?> 
       </div>
  <?}?>      

  

注意<?<?= scriplets

之间的区别
相关问题