javascript - 关于循环结束后获取不到点击事件想要的对象
巴扎黑
巴扎黑 2017-04-10 15:51:57
[JavaScript讨论组]


    
        
        
        
    
    
    
        

科技版块

军事版块

新闻版块

巴扎黑
巴扎黑

全部回复(2)
阿神
oNav.onclick = function(oldAttr){
                return function() {
                    var hash = this.dataset.hash; //获取hash
                    window.location.hash = hash; //传给url
                    for (var j in adom) {
                        adom[j].style.backgroundColor = arr[j]["bgcolor"];
                    }
                    //我这里想获取当前选中状态下他对应的背景颜色在arr下的currentbg下
                    //比如我当前选中状态是第2个nav对应的就是this.style.backgroundColor="yellow"
                    this.style.backgroundColor = oldAttr.currentbg;
                };
            }(arr[attr]);
            

如果我没理解错,你想在事件处理器里面访问循环中的变量arr,但是当你的循环执行完了,你的事件处理器真正触发是在循环执行完之后,attr已经变成了最后一个。
看下我评论里面给你提供的那个链接吧。。。

PHP中文网

使用闭包缓存临时变量吧

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

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