首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解决google闭包(创建简单工具栏)中的“无法调用方法.到未定义”的问题?

如何解决google闭包(创建简单工具栏)中的“无法调用方法.到未定义”的问题?
EN

Stack Overflow用户
提问于 2010-02-21 18:21:02
回答 1查看 29.5K关注 0票数 4

下面是一个完整的HTML源代码,用于使用google闭包构建一个简单的工具栏。

在Chrome中给出一个错误消息:Uncaught TypeError: Cannot call method 'addChild' of undefined在标记为// ERROR注释的位置。

有人能给我个建议吗?谢谢!

编辑:是正确的,错过了,但另一个错误是,我应该使用render()而不是decorate(),因为decorate()需要所有dom元素就位(而且定义的按钮没有占位符),而render()则创建新元素。

代码语言:javascript
复制
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html lang="en-US" xml:lang="en-US" xmlns="http://www.w3.org/1999/xhtml"> 
<head> 


<script type="text/javascript" src="/m/google-closure/closure/goog/base.js"></script> 
<script type="text/javascript"> 
    goog.require('goog.dom');
    goog.require('goog.ui.Toolbar');
    goog.require('goog.ui.ToolbarButton');
</script> 
<script type="text/javascript"> 
    var load_sketcher = function(){
        var tb = goog.ui.Toolbar();
        tb.addChild(new goog.ui.ToolbarButton('A'), true);// ERROR!!!
        tb.addChild(new goog.ui.ToolbarButton('B'), true);
        tb.decorate(goog.dom.getElement('sk_toolbar'));// should have used render() here
    };
</script> 

</head> 
<body onload='load_sketcher();'> 

<div id="sketcher"> 
    <div id="sk_toolbar"></div> 
    <div id="sk_canvas"></div> 
</div> 

</body> 
</html> 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-02-21 18:32:46

可能还有其他问题,但错误是因为需要新关键字,所以行应该如下所示:

代码语言:javascript
复制
 var tb = new goog.ui.Toolbar();
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2306875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档