手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >Javascript动态绑定事件的简单实现代码
Javascript动态绑定事件的简单实现代码
摘要:下面是页面的dom结构复制代码代码如下:OneTwoThreeFour下面是javascript代码复制代码代码如下://根据ID获取对象f...

下面是页面的dom结构

复制代码 代码如下:

<ul id="test">

<li>One</li>

<li>Two</li>

<li>Three</li>

<li>Four</li>

</ul>

下面是javascript代码

复制代码 代码如下:

//根据ID获取对象

function id(v) { return document.getElementById(v); }

//根据标记获取对象

function tag(element, t) { return element.getElementsByTagName(t); }

window.onload = function() {

//获取test下的所有li对象

var li = tag(id("test"), "li");

//用循环绑定鼠标单击事件

for(var i=0; i<li.length; i++) {

li[i].onclick = function() {

//期望弹出1,2,3,4

//结果弹出的总是5

alert("你点击了第" + (i+1) + "项");

}

}

}

为什么会出现上边的现像呢?原因是“for中的事件绑定并没有马上得到执行”。修改后的代码如下:

复制代码 代码如下:

//根据ID获取对象

function id(v) { return document.getElementById(v); }

//根据标记获取对象

function tag(element, t) { return element.getElementsByTagName(t); }

window.onload = function() {

//获取test下的所有li对象

var li = tag(id("test"), "li");

//用循环绑定鼠标单击事件

for(var i=0; i<li.length; i++) {

(function() {

var t = i

li[i].onclick = function() {

alert("你点击了第" + t + "项");

}

})();

}

}

测试代码,一切OK,我们正常的将循环变量i传到onclick事件对应的处理函数中。

【Javascript动态绑定事件的简单实现代码】相关文章:

javascript实现日期按月份加减

javascript事件冒泡和事件捕获详解

JavaScript常用数组算法小结

解析javascript中鼠标滚轮事件

Javascript随机显示图片的源代码

javascript事件冒泡实例分析

javascript中动态函数用法

JavaScript正则表达式的分组匹配详解

JavaScript的while循环的使用

javascript常用的方法分享

精品推荐
分类导航