Dojo QuickStart 快速入门教程 (2) 基本框架

下载库

首先,下载 Dojo 库:http://www.dojotoolkit.org/downloads

放了方便测试,我将文件将解压到 Web Server 的 "js/dojotoolkit" 文件夹中,如果你愿意,也可以缀上版本号。最后的目录结构应该像下图这样:


明确 dojo.js 文件的路径非常重要。只要 dojo.js 能被正确装入页面,package system 会自动处理对相关模块的引用和依赖。

The Dojo Book,提供了大量的指南和教程,更深入的介绍了获得各种 dojo 不同版本的方式。

也可以从 Google 的公用库引入脚本,如下:http://ajax.googleapis.com/ajax/libs/dojo/1.3.1/dojo/dojo.xd.js

基本框架
下面是一个 dojo 程序的基本框架:


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" 
    "http://www.w3.org/TR/html4/strict.dtd"
>
<html>
    
<head>
        
<title>Dojo Toolkit Test Page</title>    
    
    
<!--  装入Dojo 基本库 -->
    
<script type="text/javascript" src="js/dojotoolkit/dojo/dojo.js"
        djConfig
="parseOnLoad:true, isDebug:true">
       </
script>
    
    
<script type="text/javascript">
    
/* 其他的脚本程序 */
    
</script>
    
    
<style type="text/css">
    
/* 样式表在这 */    
    
</style>  
  
    
</head>
    
<body><!-- 页面内容 -->
        
<h1 id="testHeading">Dojo 基本框架</h1>        
        
<div id="contentNode">
        
<p>一些内容</p>
    
</div>
    
</body>

</html>

 版权声明:本博客文章如非特别注明,均为原创,作者保留所有权利!欢迎转载,转载请注明作者左洸和出处博客园

 配置 Dojo 启动参数
dojo在装入时应该进行参数配置,两个最重要的参数是 parseOnLoad  isDebug 。第一个参数确定是否在页面装入时解析 dojo 组件和内置标签;第二参数打开或关闭调试信息。有两种配置方式:
第一种方式在 <script> 标签中配置,如下:

<script type="text/javascript" src="js/dojotoolkit/dojo/dojo.js"
    djConfig
="parseOnLoad:true, isDebug:true">
  </
script>

第二种方式在 dojo.js 装入之前,建立一个全局变量 djConfig,如下:

<script type="text/javascript">
    
var djConfig = {
        isDebug:
true,
        parseOnLoad:
true
    }
;
</script>
<script type="text/javascript" src="js/dojotoolkit/dojo/dojo.js"></script>

两种方式有同样的效果。


如何开始?
由于各种版本的浏览器对页面装入 "ready" 状态有不同的定义,所以 Dojo 提供了一个 dojo.addOnLoad  函数,程序从这里面开始,如下代码:

// 某个函数
    var init = function(){
        console.log("I run after the page is ready.");    
    };
        //ready 后运行上面的函数
    dojo.addOnLoad(init);
    
    // 这是另一种形式,用匿名函数
    dojo.addOnLoad(function(){
        console.log("I also run, but second. "); 
    });

重要提示:不要用 <body onLoad="someFunc"> 和 window.οnlοad=someFunc 开始你的函数,而应该使用 dojo.addOnLoad(someFunc)


更多
通过 dojo.require() 函数,package system 会自动装入所有你需要的代码。下面的例子将装入一个 Button 和一个 TitlePane,系统会自动找到他们的代码,如下:

dojo.require("dijit.form.Button");
    dojo.require(
"dijit.TitlePane");
    dojo.addOnLoad(
function(){
        dojo.byId(
"testHeading").innerHTML = "We're on our way!";
        console.log(
"onLoad fires after require() is done"); 
    }
);  

每个模块都有自己的 dojo.require() 参数,你可以从 Dijit API pages 找到他们


继续
在上面的例子中,我们第一次用了 dojo.byId() 函数,通过 id 来选择元素,并改变了元素的 innerHTML  值。后面我们将了解选择器。
将上面的代码放到框架中的“其他脚本程序”位置处,然后运行,如果你看到了: "We're on our way",恭喜!
如果出现了错误,可以从 FAQ 查找常见的错误信息。


//==========================================


本文转自左洸博客园博客,原文链接:http://www.cnblogs.com/myqiao/archive/2009/05/14/1456952.html,如需转载请自行联系原作者


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/280759.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

摊牌了,.NET开发者,准备赋能未来

hi&#xff0c;这里是桑小榆。一名.net开发&#xff0c;从19年毕业至今一直从事相关技术已近4年。发展至今&#xff0c;很有必要分享分享我的经历以及对于.net开发的看法和见解。篇幅有些长&#xff0c;无论你是学生&#xff0c;职业人&#xff0c;.NET开发者还是其他语言开发者…

网络爬虫练习

1.利用requests.get(url)获取网页页面的html文件 import requests newsurlhttp://news.gzcc.cn/html/xiaoyuanxinwen/ res requests.get(newsurl) #返回response对象 res.encodingutf-8 print(res.text) 2.利用BeautifulSoup的HTML解析器&#xff0c;生成结构树 import reques…

BZOJ 3434 时空穿梭

题目链接&#xff1a;http://www.lydsy.com/JudgeOnline/problem.php?id3434 题意&#xff1a; 思路&#xff1a; const int mod10007; const int N100005;int g[22][N]; int C[N][22],mou[N]; int h[22][N][13];int prime[N],cnt; int tag[N];void init() {int i,j;mou[1]1;f…

powershell /遍历/psobject/字符串转换Json/json数组操作

读取json文档 $json (Get-Content "C:\HDDList.json" -Raw) | ConvertFrom-Json $select$json.Content.selected[0] $HddCoun$json.Content.normal.Count 遍历数组 foreach($str in $json.versions) { echo "value: $str" } json数据转换psobject.pro…

plex实现流媒体服务器_如何从Plex Media Server离线查看下载和同步媒体

plex实现流媒体服务器Streaming content from your Plex Media Server is great, but sometimes—like when you’re going to be offline or stuck with cruddy internet speeds while traveling—there’s no substitution for having a copy of the media stored on your de…

.NET Conf 2022 大会日程全曝光!!前沿、硬核、创意.....精彩就等你来!!

倒计时2天一场规模宏大&#xff0c;内容硬核&#xff0c;大咖齐聚的.NET 领域年度最大的盛会即将开幕.NET Conf 2022 12月3日-12月4日开源 安全 赋能诚邀您的加入立即扫码预约加入.NET年度盛宴&#xff01;&#xff01;.NET Conf China 2022.NET Conf China 2022是面向开发人员…

SpringMVC 数据的格式化、JSR 303数据校验和国际化

SpringMVC 数据的格式化、JSR 303数据校验和国际化转载于:https://www.cnblogs.com/lusufei/p/7400963.html

C# 对程序窗口进程和进程ID

获取当前激活窗口&#xff08;顶置&#xff09; GetForegroundWindow() [DllImport("user32.dll")]public static extern IntPtr GetForegroundWindow();[DllImport("user32.dll", EntryPoint "GetWindowText")]public static extern int GetW…

Linux下SSH远程连接断开后让程序继续运行解决办法

screen -S yourname #新建一个叫yourname的sessionscreen -r yourname #回到yourname这个sessionscreen -X -S [yourname # you want to kill]quit #删除无用的screen&#xff0c;使用时不用加中括号 screen -ls #列出当前所有的session screen -d yourname #远程detach某个ses…

网游的服务器瓶颈

1.服务器的数量。 2.服务器的I/O瓶颈。 3.游戏当中的突发性高并发量。 4.CPU主频。

谁说.NET没有GC调优,只改一行代码就让程序不再占用内存

经常看到有群友调侃“为什么搞Java的总在学习JVM调优&#xff1f;那是因为Java烂&#xff01;我们.NET就不需要搞这些&#xff01;”真的是这样吗&#xff1f;今天我就用一个案例来分析一下。昨天&#xff0c;一位学生问了我一个问题&#xff1a;他建了一个默认的ASP.NET Core …

wmi服务或wmi提供程序_什么是WMI提供程序主机(WmiPrvSE.exe),为什么使用那么多的CPU?...

wmi服务或wmi提供程序The WMI Provider Host process is an important part of Windows, and often runs in the background. It allows other applications on your computer to request information about your system. This process shouldn’t normally use many system re…

C# 快捷键/hotkey简单例子

1.导入dll [System.Runtime.InteropServices.DllImport("user32.dll")] //申明API函数public static extern bool RegisterHotKey(IntPtr hWnd, // handle to windowint id, // hot key identifieruint fsModifiers, // key-modifier optionsKeys vk // virtual-key …

POJ 3233

矩阵分治 注意不要用 (*this) 会改变原值 #include <iostream> #include <cstdio> #include <cstring> #include <cmath> #include <algorithm> #include <cstdlib> using namespace std; int n, p, k; struct Matrix{int num[35][35];voi…

zookeeper和etcd有状态服务部署

zookeeper和etcd有状态服务部署实践 docker etcd zookeeper kubernetes 4k 次阅读 读完需要 78 分钟 0 一. 概述 kubernetes通过statefulset为zookeeper、etcd等这类有状态的应用程序提供完善支持&#xff0c;statefulset具备以下特性&#xff1a; 为pod提供稳定的唯一…

正在创建系统还原点_如何使Windows在启动时自动创建系统还原点

正在创建系统还原点By default, System Restore automatically creates a restore point once per week and also before major events like an app or driver installation. If you want even more protection, you can force Windows to create a restore point automaticall…

WinForm(十六)绑定

在WinForm中&#xff0c;有很多添加和修改数据的场景&#xff0c;一般的做法是当点击“添加”按钮时&#xff0c;收集各控件的值&#xff0c;然后赋值给实体类的各个属性&#xff0c;然后再完成保存工作。在修改时&#xff0c;首先把实体的原值&#xff0c;一个个赋值给控件&am…

在ubuntu 16.04里使用python—scrapy将爬取到的数据存到mysql数据库中的一些随笔

一、将爬取的数据保存到mysql数据库的代码&#xff08;已经能将爬取的数据保存到json文件&#xff09; &#xff08;1&#xff09;编辑Pipeline.py文件 &#xff08;2&#xff09;编辑settings.py文件 二、将数据保存至mysql数据库出现的问题 &#xff08;1&#xff09;在将数据…

powershell XML操作

1.直接加入xml结构 加入<title>是为了后续能直接添加其他node&#xff0c;否则&#xff0c;后续操作可能无法AppendChild $xml "<?xml version1.0 encodingUTF-8?><case><title>please check each point</title></case>"$xm…

十大经典排序算法(动图演示)

转自&#xff1a;https://www.cnblogs.com/onepixel/articles/7674659.html 0、算法概述 0.1 算法分类 十种常见排序算法可以分为两大类&#xff1a; 非线性时间比较类排序&#xff1a;通过比较来决定元素间的相对次序&#xff0c;由于其时间复杂度不能突破O(nlogn)&#xff0c…