Dojo Dojo是一个用javascript语言实现的开源DHTML工具包。它是在几个项目捐助基础上建立起来的(nWidgets,Burstlib,f(m)),这也是为什么叫它a"unified"toolkit的原因。Dojo的目标是解决开发DHTML应用程序遇到的那些,长期存在、历史问题(historical problems with DHTML)。跨浏览器问题。
Dojo Toolkit过去常常带有一个名为“Doh”的测试工具.它位于/ utils目录中. 现在当你下载dojo-release-1.3.2时,无法找到/ utils目录. Doh已经死了吗? 我不认为它已经死了,我现在正在使用它来开发针对dojo 1.3.2的代码并且它工作正常.如果您可以在较旧的版本中找到它(只要它不是太旧),您仍然可以使用它. 编辑 你可以在源代码中找到它here …
时间:2020-08-01
<div dojoType="dojo.Dialog" id="alarmCatDialog" bgColor="#FFFFFF" bgOpacity="0.4" toggle="standard">
<div class='dijitInline'>
<input type='input' class='dateWidgetInput' dojoAttachPoint='numbe
时间:2020-08-01
我试图以编程方式创建这样的布局: 我正在使用dojo 1.7,布局初始化可能存在问题. 这是我的attempt. 谢谢你的帮助 让BorderContainer设置Dialog的大小(不是对话框本身): jsFiddle. var layout = new BorderContainer({
design: "headline",
style: "width: 400px; hei
时间:2020-08-01
我有这个Dijit数字微调器: <div class="extra_field hide_on_load form_action_fy">
<label>Action Fiscal Year</label>
<input name="form_action_fy" id="form_action_fy"
data-dojo-type="dijit.form.Numb
时间:2020-08-01
我有一个div id =“容器”容器,我需要为该div添加标签(10或4或一个 – 取决于我点击的按钮)并且需要看起来像表(行x 2列).怎么做到这一点? 如何以编程方式添加标签? 这就是我在道场做过的方式. dojo.place('<label for="field">Field Name</label>', dojo.byId('widget_fieldId'), 'before');
时间:2020-08-01
我对Dojo的文档很困惑.如何在不实际使用dojo.declare()的情况下使用dojo.require()?我不想使用dojo.declare()的原因是它将声明的类公开为全局变量. 现在我的代码看起来像这样: HTML file:
dojo.require('module.test');
Module/test.js:
dojo.provide('module.test');
functi
时间:2020-08-01
在收到新信息后,我无法尝试更改数据网格的结构.每次进行查询时,我都需要能够更改列数. 我用来创建网格的javascript代码 function setgrid(){
var gridLayout = [];
var key, i;
for(i = 0; i < 10; i++) {
key = i + "";
gridLayout.push
时间:2020-08-01
从dojo存储加载dgrid时,是否有一种方法可以指定默认排序的列. 假设我有2列,名称和电子邮件,我希望在首次加载网格时默认排序名称列.我想要的是用户单击“名称”标题(相当于指示排序方向的排序箭头). 谢谢, 约翰 你可以这样做: var mygrid = new OnDemandGrid({
store : someStore,
queryOptions: {
时间:2020-08-01
我在BorderContainer中有一个dgrid,启用了“liveSplitters”(使用Dojo 1.8). dgrid很好地出现了,但是当我在左列和“前导”列(dgrid在其中)之间移动拆分器时,dgrid没有正确调整大小.但是,如果我调整窗口大小,那么dgrid会重新调整到合适的大小(即填充BorderContainer的“前导”窗格的100%). 我在CSS中将dgrid设置为100
时间:2020-08-01
在jQuery中,如果你在ajax回调方法中出错,你将得到一个正确的控制台错误信息和stacktrace. $.get("https://api.github.com/users/octocat/orgs", function() {
var a = FAIL;
}); 然而,在使用dojo / request / xhr的dojo中,似乎这些愚蠢的错误正在被完全吞噬.我运行它时控制台中唯一的
时间:2020-08-01
我有一个dijit选择菜单,我正在尝试动态插入新选项.从生成选择菜单的小部件内部,我尝试了以下但是它不起作用; this.selectMenu.domNode.innerHTML = options this.selectMenu是附加点,选项是我要插入的选项的html 上面的代码替换了整个选择菜单,而不是插入选项 提前谢谢了 dijit.byId("selectmenu").addOption(
时间:2020-08-01
我注意到dojo 1.4.0在简单模式下支持google编译器,它最终是否会支持高级模式? 在高级模式下可以使用Dojo 1.6和Closure. HOWTO文件: http://dojo-toolkit.33424.n3.nabble.com/file/n2636749/Using_the_Dojo_Toolkit_with_the_Closure_Compiler.pdf?by-user=t
时间:2020-08-01
我有以下NumberTextBox,我想只允许数字,但我不知道什么是用于使其成为可能的约束属性. <input type="text" data-dojo-type="dijit.form.NumberTextBox" invalidMessage="Please enter only numbers" constraints="{}" required="true" 你可以有以下例子: cons
时间:2020-08-01
我正在尝试使用dojo-toolkit作为rails 3.1 app上的JS框架,但我正在努力将dojo require结构与sprockets require和coffeescript合并.似乎dojo期望磁盘上的JS文件,但我猜它们是从coffeescript动态创建的. 想知道是否有人知道这两个要求是如何共存的. 我最近不得不使用rails 3.1和资产管道安装dojo.以下是我遵循的步骤:
时间:2020-08-01
使用dojo.dnd,我想允许用户一次只拖动一个项目,而不是任何任意数字,根据dojo的默认行为. 此时,用户可以按住Ctrl并一次单击多个可拖动项目,然后将它们全部作为一组拖动.我想禁用它,以便用户只能在任何给定时间拖动一个项目. 我正在使用dojo.dnd.Source(),如下所示. new dojo.dnd.Source(containerNode) …这使得containerNode的所
时间:2020-08-01
我创建了一个dijit树和一个文本框,我想根据文本框中提供的关键字过滤树节点.我实现了另一个问题中提供的解决方案,但它似乎不起作用.当用户在文本框中输入某个单词时,将使用相同的数据重新填充树. dijit.Tree search and refresh 以下是我的代码: require(["dijit/form/TextBox","dojo/store/Memory","dijit/tree/Ob
时间:2020-08-01
我一直在各种环境中使用Dojo,从未找到关于事件与主题的良好解释.我对使用这两种机制的理解如下: >两者都是事件或更普遍的消息机制. >两者的工作方式大致相同,因为您通过设置回调来订阅主题/事件. >事件与对象/窗口小部件紧密耦合,例如,您需要对象或窗口小部件的实际实例来注册特定事件的侦听器. >另一方面,主题机制提供了一种更加分离的方法,因为您可以订阅任何主题,而无需知道哪个组件正在发布主题,甚
时间:2020-08-01
我是Dojo Toolkit的新手,今天我遇到了主题dojo.mixin()和dojo.extend(). 我想两者都习惯于从另一个物体获取一个物体的属性. 谁能解释一下dojo.mixin()和dojo.extend()之间的区别? 编辑:在阅读Dojo文档后,我很清楚dojo.extend()用于处理对象的原型. 从 dojo docs起 Mixin combines two objects
时间:2020-08-01
我现在正在使用dojo 1.8.3,现在我的页面上有一个带有2个ContentPane的BorderContainer.我想听resize事件,像这样的代码 dojo.ready(function(){
dojo.connect(dijit.byId("Container"), "resize", function(changeSize, resultSize){
// d
时间:2020-08-01
我正在尝试dojotoolkit 1.8并且无法弄清楚如何为dojo / form / select挂钩onchange事件 这没什么事 require(["dojo/dom","dojo/on"], function(dom,on){
on(dom.byId("myselect"),"change",function (evt){
alert("myselect_even
时间:2020-08-01
通常我在jQuery世界,我使用requirejs,backbone.js和 jquery开发一个wep应用程序. 为了拓宽视野,我也开始使用Dojo. 在我开始使用Dojo之前,我在几个关于jQuery的博客中读到的语句类似于:“如果你正在制作一个带有一些JS效果的普通网站,你可以使用jQuery,但是对于web应用程序的东西你应该使用Dojo“. 所以,正因为如此,当我开始使用Dojo(1.7
时间:2020-08-01
我希望能够更改一些默认的CSS样式,例如,dijit.TitlePane,而不会破坏“工厂安装的”css主题.我要做的是删除TitlePane的Title和ContentOuter边框.在声明窗口小部件时设置一个类(在本例中为“borderless”)不起作用(见下文:我也尝试在data-dojo-props中设置类.仍然没有去). <div class="borderless" data-doj
时间:2020-08-01
我对此很新,事实上这是我第一次尝试Dojo.我正在尝试从以下网站获取数据: <script
text="text/javascript"
src="http://o.aolcdn.com/dojo/1.3/dojo/dojo.xd.js"
djConfig="parseOnLoad:true,isDebug:true"
></script>
<script type="text/ja
时间:2020-08-01
我已经设置了一个使用三个dojo小部件的html页面,我正在尝试使用dojo 1.7.5从它创建一个自定义构建.构建成功留下了一个dojo.js,其中包含使用此构建文件所需的文件: var dependencies = {
action: "release",
selectorEngine: "acme",
stripConsole: "none",
cssOptimize: "comments.
时间:2020-08-01
我看一下 Dojo v.1.9 request/xhr的文档 我找不到包含基本身份验证的示例. 如何以及在何处在Dojo XHR选项中包含用户名和密码? require(["dojo/request/xhr"], function(xhr){
xhr("example.json", {
// Include User and Password options here ?
us
时间:2020-08-01
我似乎无法找到一种方法来要求过滤选择输入具有一定的长度.我试过这样的: new dijit.form.FilteringSelect({
'name': 'bla',
'store': jsonRestStore,
'searchAttr': "name",
'pattern': '.{3,}',
'regExp': '.{3,}'
}); 但它并没有改变一
时间:2020-08-01
当用户在此窗口小部件中按下向上或向下箭头时,有没有办法捕获dijit.form.NumberSpinner的递增和递减事件?我知道“_arrowPressed”事件,但出于某些原因我不想使用它.我正在使用onChange事件但是在你失去对这个小部件的关注之前不会被触发. 设置intermediateChanges:true以在每次更改时获得onChange(没有失去焦点): <div
id
时间:2020-08-01
JavaScript的 例如,我有以下JavaScript代码(已加载Dojo 1.6): dojo.require("dojo.io.script")
// PART I
var jsonpArgs = {
url: "http://myapp.appspot.com/query",
content: {
id: "1234",
name: "J
时间:2020-08-01
dijit.registry.remove()有什么作用?它如何处理无效参数? dijit.registry引用是dijit.WidgetSet的一个实例,它是一个小部件的集合. remove()函数接受输入ID,并从集合中删除具有相应ID的Widget(如果找到). 在Dojo 1.4中,WidgetSet在dijit / _base / manager.js中定义. 传递的ID在内部用作关联数
时间:2020-08-01
我们有一个案例,我们只知道运行时菜单项的图标.我知道diji.MenuItem有一个iconClass参数,但除非我们在运行时使用dojox.html.insertCssRule动态添加CSS规则,否则这没有什么帮助 – 必须有更好的方法! 以下是我们尝试做的一个示例: pMenu = new dijit.Menu({
targetNodeIds: ["NEW_APP"],
lef
时间:2020-08-01