这类问题,通常都是在for循环里,根据i的变化作为dom的下标来作当前dom的点击事件, 预期是,每个点击事件都对应相应的i下标,但是问题是,每次点击的都是最后一次节点的dom. 原因就是其实我们作点击事件的时候,for循环已经执行完毕了. 而且i如果没得到相应的保存,就只会为循环的最后一个值. 做了一共6中方法,大概分为两个范畴, 第一个是设置自定义属性,这个可以包括dom的自定义属性和函数的自定义属性: 第二个是利用闭包空间,来让i保存在闭包空间中的变量中: 上代码 html: <!DOCT…
初学者经常碰到的,即获取HTML元素集合,循环给元素添加事件.在事件响应函数中(event handler)获取对应的索引.但每次获取的都是最后一次循环的索引.原因是初学者并未理解JavaScript的闭包特性. 有个网友问了个问题,如下的html,为什么点击所有的段落p输出都是5,而不是alert出对应的0,1,2,3,4. 1.  <!DOCTYPE HTML> 2.  <html> 3.  <head> 4.  <meta charset="utf…
如同 in 运算符一样,使用 for in 循环遍历对象属性时,也将往上遍历整个原型链. // Poisoning Object.prototype Object.prototype.bar = 1; var foo = { moo: 2 }; for(var i in foo) { console.log(i); // prints both bar and moo } 这里我们要注意两点,一是 for in 循环会忽略 enumerable 设置为 false 的属性.例如一个数组的 len…
笔记摘自:<你不知道的JavaScript(上)>第3章 函数作用域和块作用域 let 1.let 关键字可以将变量绑定到所在的任意作用域中 2.let 为其声明的变量隐式地劫持了所在的块作用域 3. 通常来讲,显示的代码优于隐式或一些精巧但不清晰的代码. 4.只要声明是有效的,在声明中的任意位置都可以使用{..}括号来为let创建一个用于绑定的块. 5.使用let进行的声明不会在块作用域中进行提升.声明的代码被运行之前,声明并不存在. 例如: { console.log(bar); // R…
javascript异步上传压缩图片并立即显示图片<pre><!doctype html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0,user-scalable=no"> <script type="…
1.html代码:我是从数据库获取图片路径. <div id="divprint" align="center"> @{DataTable dt = (DataTable)ViewBag.filedetail;} @{ DataRow dr2 = dt.Rows[]; <input type="hidden" name="srcId" id="srcId" value="@dr2…
JavaScript中让Html页面中循环播放文字 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>我是标题</title> </head> <body> <div id="shadow" style="positio…
文件上传功能作为网页重要的组成部分,几乎无处不在,从简单的单个文件上传到复杂的批量上传.拖放上传,需要开发者花费大量的时间和精力去处理,以期实现好用的上传功能.这篇文章向大家推荐几款很棒的 JavaScript 文件上传功能增强插件. jQuery File Uploader 这是最受欢迎的 jQuery 文件上传组件,支持批量上传,拖放上传,显示上传进度条以及校验功能. 支持预览图片.音频和视频,支持跨域上传和客户端图片缩放,支持的服务端平台有:PHP, Python, Ruby on Rai…
JavaScript返回上一页代码区别: window.history.go(-1); //返回上一页 window.history.back(); //返回上一页 //如果要强行刷新的话就是:window.history.back();location.reload(); window.location.go(-1); //刷新上一页…
今天的代码主要是实现,Ext.grid.panel中的查询,其实我也是一名extjs新手,开始想的实现方式是另外再创建一个新的grid类来存放查询出的数据(就是有几个分类查询就创建几个grid类),这样虽然实现了,但是多写了不少代码,之后网上找到了方法. 代码如下:请结合昨天的代码看,否则你是看不明白的 /*我们操作查询的功能键是放在grid的tabbar中的,下面就是创建的grid的tabbar,其中查询操作就在其中,此代码紧接上一篇文章,这个类上一篇文章中也有,但是没有实现查询功能,红色字体…