js给动态创建的按钮添加动态事件?

想实现的功能是代码是根据数组的长度创建出相等的按钮然后给按钮依次绑定数组内的内容点击第一个按钮给video的src第一个数组的值第二个就给第二个值依此类推可是这么写全部按... 想实现的功能是代码是根据数组的长度创建出相等的按钮 然后给按钮依次绑定数组内的内容 点击第一个按钮给video的src第一个数组的值第二个就给第二个值依此类推 可是这么写全部按钮绑定的都是最后一个值怎么回事 展开
 我来答
xi8km9
2016-12-28 · TA获得超过1086个赞
知道小有建树答主
回答量:688
采纳率:50%
帮助的人:718万
展开全部

这是JavaScript经典的闭包问题

你需要


document.getElementById('king' + i).onclick = function(i)
{
return function()
{
document.getElementById('shipin').src = arr[i]
}
}(i)
jack_wang0823
推荐于2018-03-07 · TA获得超过2957个赞
知道大有可为答主
回答量:4143
采纳率:87%
帮助的人:1429万
展开全部
也可以使用传统方法
var arr = ['2','4','5','63','43']; // 定义一个数组
 for (var i=0;i<arr.length;i++){
    var button=document.createElement("input");
    button.type="button";
    button.id="king"+i;
    button.value="第"+(i+1)+"集";
    button.scr=arr[i];
    
    button.addEventListener('click', function (){
        alert(this.scr);
        document.getElementById("shipin").scr=this.scr;
    })
    document.body.appendChild(button);
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式