2012-03-02 85 views
0

我有这个玉文件玉不执行JavaScript函数

- if (transactions != "") 
    table 
     th Site Name 
     th Deadline 
     th Delete Transaction 

     each item in transactions 
      tr 
       td= item.item_name 
       td 
        span(id='countdown'+item.timeout)= item.timeout 
       td 
        span(style='cursor: pointer;', onclick='deleteTransaction('+item.uniqueId+')')= "X" 

    button(id='confirmButton', onclick='confirm();', value="Confirm", name="Confirm")= "Confirm" 
    script 
     fillCountdown(transactions); 

我不明白为什么在上线的功能fillCountdown永远不会被调用。我不得不说这个页面是在Chrome扩展中加载的,但是我猜想没有什么变化。

有人可以帮助我吗?谢谢。

+0

看看这个玉模板生成的HTML。也许这会给你一个想法。 – jammon 2012-03-02 14:11:19

+0

HTML根本不显示'script'标签,我在查询之前已经检查过了。而JavaScript并没有给出任何错误。 – Masiar 2012-03-02 14:27:52

+1

尝试脚本(type =“text/javascript”) – 2012-03-02 16:49:35

回答

3

这个问题似乎是在玉器中使用的缩进。脚本标记后,您需要给两个空格缩进,然后定义该函数。例如:

body 
    script(type='text/javascript') 
    function something() { 
    alert("Inappropriate Value") 
    } 

同时检查脚本标记是否正确缩进身体标记。如果你正在脚本标签中定义一个函数,检查脚本标签只有一个级别的缩进与身体标签。在你的代码片段中,不清楚脚本标签嵌套在“if”情况下还是正确对齐与身体标记。当我复制你的代码片段时,你的函数“fillCountdown”用脚本标签4个空格缩进。在玉的缩进有两个空间..希望这可以解决您的问题。