繁体   English   中英

将onclick事件分配给全局变量-JavaScript

[英]Assigning onclick event to global variables - javascript

我有许多班级为“ mypoll”的div。 这是我的js代码:

var mypoll=[];

$(document).ready(function (){      
    mypoll=document.getElementsByClassName("mypoll");
});

for(var t=0; t<mypoll.length; t++) {
    mypoll[t].getElementsByClassName("deletePoll")[0].onclick=(function() {
        var currentI = t;
        return function() { 
            deletedMyPoll(currentI);
        };
    })();
}
function deletedMyPoll(i){
    var a=document.getElementsByClassName("mypoll")[0].innerHTML;
    alert(a);
}

我得到的错误是

cannot set property onclick of undefined. 

我的项目上有完全相同的代码(它又大又复杂,我不能在这里全部张贴),但是它不起作用。

它可以在jsfiddle上运行。

javascript中的全局变量是否有问题? 我可以那样使用吗?

jsfiddle.net/Vwtmu

谢谢

如果您要使用jQuery,则最好使用它:

$(".mypoll").on('click', '.deletePoll', function () {

});

for循环在dom准备就绪之前运行。

$(document).ready(function (){      
    mypoll=document.getElementsByClassName("mypoll");

    for(var t=0; t<mypoll.length; t++) {
        mypoll[t].getElementsByClassName("deletePoll")[0].onclick=(function() {
            var currentI = t;
            return function() { 
                deletedMyPoll(currentI);
            };
        })();
    }

});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM