JavaScript - 如何添加动态传递特定值的 onclick 事件?

标签 javascript events

能否请您快速浏览一下示例代码

http://jsfiddle.net/vXvs2/

我不知道它是否清楚,但它应该做的是显示创建事件时 i 是什么。相反,我认为它正在做的是在触发事件时显示 i 的值。

我该如何解决我的问题?

最佳答案

将循环体包裹在一个函数中,以创建一个闭包:

for(var i = 0; i < arr.length; i++){
    (function(i){ //i inside this function is a local var; not affected by i++
        arr[i].onclick = function(){
            alert(i);
            return false;
        };
    })(i); //Invoke the function, pass variable i 
}

fiddle :http://jsfiddle.net/vXvs2/4/

关于JavaScript - 如何添加动态传递特定值的 onclick 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8262388/

相关文章:

javascript - 如何将亚马逊关联广告小部件插入网站

javascript - 如何每隔几秒以及单击屏幕时循环浏览一系列图像>

javascript - 如何更改 IFrame 中的文本颜色

events - 绑定(bind)到模型更改事件在backbone.js View 中不起作用

c# - KeyUp 事件未在 DataGrid 上触发

javascript - CasperJS/PhantomJS 无法加载 https 页面

javascript - 将 html 布局转移到 joomla 模板 javascript 不起作用

javascript - 捕获(不同)打印/取消打印按钮事件(单击)

python - 在 wxPython 中覆盖 KeyDown 事件

jquery - 是否可以获取绑定(bind)到 jQuery 元素的事件列表?