手机
当前位置:查字典教程网 >编程开发 >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的9种继承实现方式归纳

详解JavaScript中的表单验证

理解javascript定时器中的单线程

javascript中动态函数用法

JavaScript的while循环的使用

Javascript中For In语句用法实例

JavaScript实现身份证验证代码

精品推荐
分类导航