在写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
版权声明:本文为博主原创文章,转载请附上博文链接!