Google Closure onclick事件无效

时间:2014-05-08 14:20:39

标签: javascript html pyramid google-closure

我在HTML文件中有以下按钮:

<button id="signupbutton" name="signup.submit" type="submit" class="btn">Sign up</button>

我正在使用金字塔,我包含了闭包基础和我的脚本:

<script src="${request.static_url('app:javascripts/closure-library/closure/goog/base.js')}"></script>
<script>
  goog.require('goog.events');
  goog.require('goog.events.EventType');
  goog.require('goog.dom')
  goog.require('goog.dom.forms');
</script>

<script src="${request.static_url('app:javascripts/checks.js')}"></script>

在我的javascript文件checks.js中我写道:

var buton = goog.dom.getElement('signupbutton');

goog.events.listen(
    buton,
    goog.events.EventType.CLICK,
    function(e) {
        alert("Here");
    });

我在控制台中获得的是TypeError: src is null events.js:954 (var listenerMap = src[goog.events.LISTENER_MAP_PROP_];),没有任何反应,只有页面重新加载!

如果我使用谷歌关闭创建按钮它的工作原理!所以我无法弄清问题是什么!

1 个答案:

答案 0 :(得分:0)

这似乎是因为你的button is not in the DOM执行了javascript。

只有在DOM中加载了按钮后才能执行脚本。

  

TypeError:src为null events.js:954

示例:http://jsfiddle.net/zeroc00l/ZugNX/