草庐IT

JavaScript/Dojo 模块模式 - 如何调试?

我正在使用Dojo并使用MasteringDojo中描述的“模块模式”.据我所知,此模式是一种通用且广泛使用的JavaScript模式。我的问题是:我们如何调试我们的模块?到目前为止,我无法说服Firebug向我展示模块的源代码。Firebug似乎只显示用于执行工厂方法的dojoeval语句。因此我无法单步执行我的模块源代码。我试过在我的模块代码中加入“调试器”语句,Firebug似乎正确停止,但不显示源代码。下面是人为设计的示例代码。这只是一个足够复杂的例子,足以使调试的需要变得合理,它并不是有用的代码。页面consoleme@import"../dojoroot/dojo/reso

javascript - 如何计算事件的 javascript 超时?

我正在使用Selenium测试一个使用Dojo的网络应用程序,它使用java脚本来显示某些元素。我想等到所有元素都显示完毕后再尝试操作页面,但我遇到了麻烦。我已经开始等待dojoinFlight变量为0,这表示所有ajax都已完成。这并不总是有效,因为它似乎会在超时后做一些事情。我也曾多次尝试寻找该元素,但这不太好,因为以后可能会有一些javascript以某种方式使用该字段。所以基本上我想要一个方法(至少在firefox中)来查询等待在setTimeout(或setInterval)上运行的javascript我什至可以处理通过我自己的函数包装内置调用的方法只是为了跟踪这一点。任何想

javascript - 小部件加载事件上的 Dojo

我想知道Dojo表单小部件何时被解析或准备就绪,以便我可以对其进行动态自定义。我试图通过使用dojo.connect()方法来实现这一点。但是,我不确定要听什么事件。是onLoad还是onStartup或者..?这是我所做的,但它没有触发:dojo.connect(dijit.byId('myWidget'),'onStartup',function(evt){console.debug("test");}请注意,dijit.byId('myWidget')部分会正确返回对象,所以这不是问题所在。 最佳答案 这在某种程度上取决于您要

javascript - 为 declare 解释这个令人困惑的 dojo 教程语法

我正在阅读使用dojo'sdeclare的语法用于创建类。描述令人困惑:Thedeclarefunctionisdefinedinthedojo/_base/declaremodule.declareacceptsthreearguments:className,superClass,andproperties.ClassNameTheclassNameargumentrepresentsthenameoftheclass,includingthenamespace,tobecreated.Namedclassesareplacedwithintheglobalscope.Thecla

javascript - 道场 : Inheriting/Extending templated widgets : How to?

我创建了一个名为“Dialog”的模板化基本小部件,我想将其用作包中所有其他小部件的核心布局小部件。这是一个带有几个连接点的简单容器。(我没有包含HTML,因为它非常简单)define("my/Dialog",["dojo/_base/declare","dijit/_WidgetBase","dijit/_TemplatedMixin","dijit/_WidgetsInTemplateMixin","dojo/ready","dojo/parser","dojo/text!./Dialog.html"],function(declare,_WidgetBase,_Templated

javascript - 如何在解析或拒绝 Dojo Deferred 对象后执行公共(public)代码?

我有一个关于dojo/Deferred的问题。我将从问题开始,然后详细说明我在做什么:有没有办法不管延迟的结果如何都执行相同的代码行,有点像try...catch语句中的finallyblock?从我读过的内容来看,似乎没有,但也许我对文档的理解有误,并想与SO社区进行验证。这是我正在做的:在Dojo1.9(也适用于1.8)中,我在加载一些数据之前为ContentPane实例化了一个dojox.widget.Standby(加载覆盖)。延迟调用完成后,我想隐藏我的叠加层,如下所示:standby=newStandby({...//standbyprops});this.addChild

javascript - 您如何管理您的 DojoX 代码?

您如何管理DojoX的使用情况生产应用程序中的代码或小部件?DojoToolkit由Core、Dijit和DojoX组成。作为扩展工具包的新想法的孵化器,DojoX代码和小部件的功能具有不同程度的不稳定性。DojoX代码如QueryReadStore(用于从服务器获取批量数据)或像Grid这样的小部件(用于使用用户界面网格组件)不包含在Core或Dijit中。但它们的功能足以在某些情况下使用,但需要注意“开发人员当心”,因为在未来的Toolkit版本中,API或源代码树中的组件位置可能会发生变化。另一个问题是您可能必须调整正在使用的DojoX组件才能在您的环境中正常运行,因为代码中还没

javascript - 如何禁用 dijit.form.NumberSpinner 小部件上的鼠标滚轮事件?

我在基于dojo的应用程序中使用了一些dijit.form.NumberSpinner小部件,所有这些小部件都连接到onChange操作。当一个区域有很多NumberSpinner时会出现问题:用户滚动页面并在使用鼠标滚轮滚动时意外地用意外值填充NumberSpinner字段遍布整个地区。是否可以通过某种方式禁用dijit.form.NumberSpinner小部件上的鼠标滚轮事件? 最佳答案 如果您永远不需要它,并且您可以访问dojo源代码并且能够进行自己的构建,请在dijit/form/_Spinner.js上注释这一行:pos

javascript - 在图表中设置背景颜色

我正在使用主题,但我想将图表周围的背景颜色设置为白色或透明或其他颜色。我正在尝试这段代码:varmyTheme=dojox.charting.themes.PlotKit.orange;myTheme.fill="white";chart10.setTheme(myTheme);chart10.addPlot("default",{type:"Pie",labelOffset:-30,radius:150,startAngle:45,font:"normalnormal10ptTahoma",fontColor:"black",labelWiring:"grey",labelStyle

javascript - Dojo 中的“解析器返回未填充的 promise ”错误

在我的代码中使用dojo/parser时出现以下错误。解析器返回未填充的promise(可能等待模块自动加载),_WidgetsInTemplateMixin不支持。我已经define(["dojo/_base/declare","dijit/_WidgetBase","myApp/base/_TemplatedMixin","dijit/_WidgetsInTemplateMixin","dojo/text!../templates/MyTemplate.html","dojo/i18n!../nls/Localized","myApp/js/utils/hint","dijit/f