- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
销毁 Dojo / Dijit 中TabContainer
内部的小部件的正确方法是什么?
对于每个选项卡,我正在加载新的BorderContainer
,该代码基本上包括一个包含所有小控件的控件。但是现在我试图使其与选项卡控件一起使用,以便它在加载新页面之前破坏上一页,因此我陷入了困境。现在,我使用一个全局变量来存储 Activity 窗口小部件名称,当用户单击一个新选项卡时,它将从全局变量中获取 Activity 窗口小部件的ID并销毁它,然后继续加载新的 Activity 窗口小部件。这行得通,但是一旦我破坏了小部件一次,就无法使其再次出现。我收到此错误:
Uncaught Error: Tried to register widget with id==widget_foo_container but that id is already registered".
widget_XXX_container
id,因此
XXX
被小部件的id取代。
ijit.byId('widget_foo_container').destroy()
,但似乎无法完成工作。我也尝试过
destroyDecendant()
和
destroyRecursive()
,但它们也不会产生想要的效果。看来我可能会丢失一块实际上完成了销毁小部件的工作,而不仅仅是从DOM中删除了它。
最佳答案
看看dijit.registry,看看您的小部件是否仍在注册...
范例:
<div id="wrapper">
<div id="btn1" data-dojo-type="dijit.form.Button">Button1</div>
<div id="btn2" data-dojo-type="dijit.form.Button">Destroy button 1
<script type="dojo/method" data-dojo-event="onClick">
dijit.byId("btn1") && dijit.byId("btn1").destroyRecursive();
console.debug(dijit.registry._hash);
</script>
</div>
<div id="btn3" data-dojo-type="dijit.form.Button">Recreate button 1
<script type="dojo/method" data-dojo-event="onClick">
dojo.place(new dijit.form.Button({ label: "Button1", id:"btn1"}).domNode, "wrapper", "first");
console.debug(dijit.registry._hash);
</script>
</div>
</div>
关于javascript - 在Dijit中销毁小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5458238/
我的 Dojo 应用程序包含几个小部件,它们都在 dijit.registry(dijit.WidgetSet 的一个实例)中自动注册。我想利用 filter() ( Link ) 或 map() (
我使用的是 Dojo 工具包版本 1.3.1。我在 jsp 页面中定义了以下 dijit: Zoom In hi
我正在尝试以编程方式创建这样的布局: 我使用的是 dojo 1.7,布局初始化可能存在问题。 这是我的 attempt . 谢谢你帮助我 最佳答案 让BorderContainer设置 Dialog
我有一个包含模板化表单的dijit.dialog。当对话框可见并且我调整窗口大小时,表单高度会减小(即使我增加/减小窗口大小)。是什么导致了这种奇怪的行为以及如何防止它?谢谢。 代码:@LoginFo
我有一个菜单,其内容需要根据用户交互进行显着更改。这意味着需要引入一些新的菜单项,也需要删除一些菜单项。查看 Dojo 已发布的 API 文档,似乎没有一种方法可以在不删除现有项目并从头开始重新创建菜
我有以下小部件 HTML。 后面带有以下 Javascript: /** * Javascript for ExpandableSearchComponen
我正在尝试以编程方式将 dijit/布局/内容 Pane 添加到 dijit/标题 Pane 。我遇到的问题是我无法让内容 Pane 进入标题 Pane ,它被放置在它下面。我的代码是这样的:知道我做
我想要的是一个表单,在提交时运行验证检查,并突出显示所有无效字段并添加工具提示。 我正在有效地寻找这样的东西: dojo.forEach(dijit.byId('myForm')._invalidWi
我已经能够将带有两个 MenuItem 的简单 dijit.Menu 绑定(bind)到带有 Menu.bindDomNode(Tree.domNode) 的 dijit.Tree 的节点,但我想改进
我正在尝试对 dijit/Dialog 的默认行为进行简单的更改。我希望在单击底层(背景)时关闭对话框。 我在以前的 Dojo 化身中做过一次,但我很难用新的 AMD/requireJs 风格来做。
当您使用 dijit.ComboBox 时,提前输入建议将作为 dijit.Menu 实现。我有一个设计要求建议行的匹配部分是正常的,不匹配的部分是粗体。 dojo 创建的结构是这样的:
当我在客户端为我的一个应用程序进行验证时。我脑子里有这些问题。 问题一:dijit.byId('someId').value 和 dijit.byId('someId').get('value') 有
我正在尝试禁用使用 store 填充的 dijit/Form/FilteringSelect 控件中的选项。 遵循本指南:http://dojotoolkit.org/documentation/tu
如何使 titlePane 的高度动态变化,以便在页面加载后向 Pane 添加内容时 TitlePane 会展开? 最佳答案 看起来富内容编辑器是一个异步加载的 iframe 混淆了初始布局。 正如@
我似乎找不到一种方法来要求过滤选择输入具有一定的长度。我试过这样: new dijit.form.FilteringSelect({ 'name': 'bla', 'store': j
我对 Dojo 比较陌生,正在尝试掌握 dijit 的窍门。在此处查阅 Dojo 的 dijit/form/Button 小部件的文档后: http://dojotoolkit.org/referen
我有一个 Dijit Dialog (jsfiddle) 以编程方式创建。当调用对话框显示时,我会在运行时传递按钮的 id。我正在尝试创建单击事件函数,以在运行时为传递的 id 执行。 但是事件并未执
我有一个场景。在其中一个表单中,3 个一组中有 18 个字段,但一次只能有一组(3 个字段)具有值。任何人都可以告诉我如何以最好的方式做到这一点,是否有类似在 dijit 中创建字段组之类的事情?我可
我正在尝试声明一个 dijit TextBox,但我无法将 focus 事件附加到它。 我试过以声明的方式这样做: alert("hi");
我的对话框定义如下
我是一名优秀的程序员,十分优秀!