zoukankan      html  css  js  c++  java
  • 原 js实现数据持久化

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

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

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

    if(window.localStorage) {  
     // localStorge可用  
     }else {  
    // localStorge不可用  
     } 
    2)存储数据
    [javascript] view plain copy
     print?
    // 获取本地存储对象  
    var localStorage =window.localStorage;  
    // 存储  
    localStorage.setItem("key",content);
    3)取出数据
    [javascript] view plain copy
     print?
    var myKey =localStorage.getItem("key"); 
    4)
    [javascript] view plain copy
     print?
    localStorage.clear();
    以上是我查看博客http://blog.csdn.net/cordova/article/details/50853452中所显示的代码段,在我自己的项目中我是这样写的:

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

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

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

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


    ---------------------
    作者:blueskynyl
    来源:CSDN
    原文:https://blog.csdn.net/qq_33358062/article/details/77100233
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    Java上等价类划分测试的实现
    软件测试の因果图法的测试运用
    display: block; 和 display: inline; 的区别
    CSS实现垂直居中
    CSS中实现水平居中
    HTTP头部信息
    HTTP PUT方法和POST方法的区别
    理解 ajax xhr jsonp
    深入理解JavaScript系列
    Angular 1.x 指令笔记
  • 原文地址:https://www.cnblogs.com/kelly-sunshine/p/10767640.html
Copyright © 2011-2022 走看看