javascript - 向 dijit.TitlePane 添加一些持久性(打开/关闭状态)

标签 javascript dojo

我想使用 dijit.TitlePane 添加非常简单的基于 cookie 的持久性。我想确保标题 Pane 的状态(无论是打开还是关闭)都应保留在 cookie 中,以便下次加载页面时,标题 Pane 将从记住的状态开始。当我的表单中有很多标题 Pane 需要提交时,这特别有用。

一些示例代码会有帮助。

最佳答案

实现此目的的一种方法是继承 TitlePane 小部件并向其中添加您自己的实现。

dojo.require("dijit.TitlePane");
dojo.declare("dijit.MyTitlePane" , [ dijit.TitlePane ] ,                                                                                                                                                                                                                         
 {                                                                                                                                                                                                                                                                                
     postCreate : function() {                                                                                                                                                                                                                                                    
         var state = dojo.cookie(this.id);                                                                                                                                                                                                                                        
         if(state !== undefined){                                                                                                                                                                                                                                                 
             this.open = /true/.test(state);                                                                                                                                                                                                                                      
         }                                                                                                                                                                                                                                                                        
         this.inherited(arguments);                                                                                                                                                                                                                                               
     },                                                                                                                                                                                                                                                                           

     toggle : function() {                                                                                                                                                                                                                                                        
         this.inherited(arguments);                                                                                                                                                                                                                                               
         dojo.cookie(this.id, this.open , { expires : 365 });                                                                                                                                                                                                                     
     }                                                                                                                                                                                                                                                                            
 });            

关于javascript - 向 dijit.TitlePane 添加一些持久性(打开/关闭状态),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2040866/

相关文章:

java - GWT + Struts2 与 DOJO + Struts2

dojo - 自定义小部件内的 Dijit Tabcontainer-Tablist 宽度运行太长

javascript - 通过 Object.keys 从对象返回的键的顺序

javascript - 隐藏和显示 1 次单击 Jquery

javascript - 如何在Javascript中移动元素的旋转点?

即使在 DataGrid 的空白区域中右键单击,Dojo DataGrid 上下文菜单 onRowContextMenu 也会显示

javascript - 使用 Dojo 1.9,在 IE 中所有解析失败

javascript - Angular js : ng-repeat - how to update total sum of list created using ng-repeat?

c# - 如何在 Javascript 中以编程方式打开 IE9 兼容性 View

php - 返回 javascript 代码时如何在 PHP/Dojo 中正确生成异常