如何实现点击事件触发之后刷新还保存原值

下面为html 代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        div{
            width: 100px;
            height: 20px;
            font-size: 12px;
        }
        p{
            line-height: 20px;
            text-align: center;
        }

        button{
            font-size: 10px;
        }

    </style>
</head>
<body>
<div><p>javascript!</p></div>
<button>点击</button>
<script src="src/dist/bulid.js"></script>
</body>
</html>

1. JS代码:

window.onload =function () {
    let color = localStorage.x?localStorage.x:‘background:#f00‘;
    let Div = document.getElementsByTagName(‘div‘)[0];
    let Btn =document.getElementsByTagName(‘button‘)[0];

    Div.style = color;
    Btn.onclick = function () {
        localStorage.x = ‘background:#00f‘;
            Div.style = localStorage.x;
    }
};

2.原先的 JS代码

window.onload =function () {
    // let color = localStorage.x?localStorage.x:‘background:#f00‘;
    let Div = document.getElementsByTagName(‘div‘)[0];
    let Btn =document.getElementsByTagName(‘button‘)[0];

    // Div.style = color;
    Div.style.background = ‘#f00‘;
    Btn.onclick = function () {
        // localStorage.x = ‘background:#00f‘;
        //     Div.style = localStorage.x;
        Div.style.background = ‘#00f‘
    }
};

解释: 2中我们没有用locaStorage 存储值,所以每一次我们刷新页面事件都会重新加载,所以每一次都会变回原先的红色。

   1中我们用locaStrage存储了值,每次加载页面是从这里面来获取数据。localStorage 方法存储的数据没有时间限制。第二天、第二周或下一年之后,数据依然可用。

   说白了就是 把值存储在一个变量color里面,然后你点击之后locaStrage就变了,由于locaStrage只有手动删除才有效,所以当你再次加载他的Div.style还是我们之前

    赋的 color值 ,以达成刷新页面之后还是第一次点击的蓝色,而不会变为红色。

时间: 2024-12-30 09:06:56

如何实现点击事件触发之后刷新还保存原值的相关文章

解决label点击事件触发两次问题

问题描述: 通常,为了用户体验,我们点击单选框或者复选框后面文字,即可选中当前项.代码如下: <label> <input type="radio" name="sex" />男 </label> <label> <input type="radio" name="sex" />女 </label> 但是,此时,如果label标签有点击事件,则会触发两次.

关于label标签点击事件触发两次问题

给confirmBillCard 绑定点击事件,当点击lable时候,事件会触发两次,解决办法: 1: 2:

关于jQuery中动态生成的点击事件触发两次的讨论

由于是动态生成的  点击事件运用了jQuery里面的on()方法,绑定在body上面,结果在程序里面运行了两次.参考了博客 利用on和off方法编写高效的js代码知道了很多在dom对象删除以后,其声明的绑定在window上的事件还一直存在,导致相同的功能代码执行了几次.故使用之前要清理掉body上绑定的click事件,利用了jQuery里面off()方法. $('body').off('click').on('click','selector',function(){});

JS中点击事件冒泡解析

关于Javascript中的点击事件冒泡的问题,很多初学者都处理不好. 什么是点击事件冒泡? 例: 今天我去小明家找他玩.正好小明.小明的爸爸.小明的爷爷在客厅一起看电视. 我对小明说:”咱们出去玩吧“. 小明十分乐意的回答到:”好啊“. 小明的爸爸听到后,说到:”把作业写完后在出去玩“. 小明的爷爷也发话了:”预报有雷阵雨,就别出去玩了“. 我本来只是询问一下小明的意见,结果他爸比和爷爷对我说的话做出的反应影响到了小明接下来的行为. 这次之后,我和小明私下约定好.以后去找他玩的,都会去他房间里

Swift-ImageView响应点击事件

随着Swift语言的不断更新迭代,纯Swift语言编写的代码更加紧凑简单,结合StoryBorad的使用,使开发苹果APP的门槛降低了不少.个人也是比较推荐使用Interface Builder去生成界面,必要时去敲写代码,这不仅仅会提高开发效率,也会帮助我们更好的认识控件元素.废话不多说,进入正题 由于最近在开发一款APP使用到了imageview的响应事件,去找了不少资料,OC的影子还是太浓,毕竟Swift本身可以做的事情就没必要去写OC了.但由于ImageView本身使不支持Action事

微信小程序开发(二)点击事件

接着上篇博客继续. 如下修改: // index.wxml <view>Hello World!</view> <button bindtap="but">点击按钮</button> // 按钮 bindtap属性就是添加点击事件,名字是but // index.js Page({ but: function(){ // 通过but点击事件触发后面的函数 console.log("你好") } }) 保存代码后,点击按

[前端][自定义DOM事件]不使用setTimeout实现双击事件或n击事件

使用setTimeout实现双击事件 例如,这样: let div = document.getElementById("div"); doubleClick(div, function (event) { console.log('双击') }) function doubleClick(ele, fn) { // 省略参数合法性的判断 let event = new Event("doubleClick"); // 自定义双击事件(可以使用CustomEvent

js 触发LinkButton点击事件,执行后台方法

页面 <asp:LinkButton ID="lbtButton" runat="server"  CssClass="lbtButton" Font-Underline="false" OnClick="lbtButton_Click"> js function clickButton(filePath, fileName){ __doPostBack('lbtButton', ''); }

点击label事件触发两次的坑

今天帮群里的朋友看一段代码的时候偶然间遇到一个label的坑,点击label的时候,监听的click事件被执行两次: 具体代码如下: 1 <div id="test"> 2 <input type="checkbox" name="abc" id="abc"/> 3 <label for="abc">3423432432432432</label> 4 <