js实现数据持久化

在写js事件时,常常遇到点击一个事件,然后在若干时间以后需要知道最近一次点击的事件的结点。比如这里:


我点击树节点1,再点击tab2,然后我再来回切换tab,假如最后一次点击tab时在tab2上,这时,我希望点击另一个树节点2,但是这时传到后台没有所点tab的标记,自然不会将tab的值传到后台,就算在tab点击事件中设置了标记,在点击树节点时也会被临时销毁了,此时需要做的是点击tab时将值持久化,缓存起来,然后下次刷新的时候用,简单而言,代码就是下面的情况:

1)判断本地存储是否可用:

  1. if(window.localStorage) {  
  2.  // localStorge可用  
  3.  }else {  
  4. // localStorge不可用  
  5.  } 
2)存储数据

[javascript]  view plain  copy
 print ?
  1. // 获取本地存储对象  
  2. var localStorage =window.localStorage;  
  3. // 存储  
  4. localStorage.setItem("key",content);
3)取出数据

[javascript]  view plain  copy
 print ?
  1. var myKey =localStorage.getItem("key"); 
4)
[javascript]  view plain  copy
 print ?
  1. localStorage.clear();

以上是我查看博客http://blog.csdn.net/cordova/article/details/50853452中所显示的代码段,在我自己的项目中我是这样写的:

1)点击tab事件(两个tab事件)实现数据持久化



2)点击树节点时取出持久化数据并判断


3)然后进行对应的数据传值与渲染

4)销毁localStorage(注意,该事件的销毁应该放在事件外面,因为点击一次tab以后可能会多次点击树节点,如果在方法内把持久化的值销毁以后,下一次点击树节点时就会导致取到的值为空)



OK,完成以上,就会出现自己想要的效果 ! bingo~


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值