javascript - js如何存储每次点击的索引值
ringa_lee
ringa_lee 2017-07-05 10:38:25
[JavaScript讨论组]

这个问题可能会比较弱,但我确实是没找到好的方法去解决它,且周围没有其他前端可以问,先谢谢大家了...
有这样一个需求,dom如图

一组button,我想记录每次点击的索引值,之前我是写了一个cookie 来记录...但是最近看了闭包和作用域之后感觉我的写法多余了,应该可以直接用返回值和函数解决

这样直接打印肯定是空,因为点击是异步的,没有执行肯定没有赋值,但是这里如何去记录每一次的值呢,如果是一个普通的函数,执行一次就是了,但是这个点击也不能去单一的执行,这里应该如何存值呢?

ringa_lee
ringa_lee

ringa_lee

全部回复(5)
给我你的怀抱

记忆函数,记忆button索引值及点击次数,当然也可以记忆历史点击索引序列

/* 记忆button索引值及点击次数还有序列 */
function memoizer() {
    let buttonIndexClickTimeHistory = {};
    let buttonIndexClickQueueHistory = [];
    return function(idx) {
        if (typeof buttonIndexClickTimeHistory[idx] === 'number') {
            buttonIndexClickTimeHistory[idx] ++;
        } else {
            buttonIndexClickTimeHistory[idx] = 1;
        }
        buttonIndexClickQueueHistory.push(idx);
        return {
            buttonIndexClickTimeHistory,
            buttonIndexClickQueueHistory
        };
    };
}

const f = memoizer();

$('.button').on('click', function() {
    console.log(f($(this).index()));
});
黄舟

console.log(click_num);放在click函数中,这样就能监测每次点击的赋值了

三叔

localstorage sessionstorage你可以试试

大家讲道理

$('.button').click(function() {
    console.log($(this).index());
});
PHP中文网

index保存在一个变量中是比较合理的;
想要每次打印index就把console.log()放在click事件中

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号