jQuery clone()方法绑定事件
先看如下代码:
(function ($) {
var div = $("<div></div>").css({width: "100px", height: "100px"});
var colors = ["red", "blue", "yellow"];
for (var c = 0; c < colors.length; c++) {
var perDiv = div.clone();
perDiv.css({
background: colors[c]
});
perDiv.click(function () {
console.log(colors[c]);
});
$("body").append(perDiv);
}
})($);
效果图:

无论点击那个div都是输出 underfined
所以此代码不能解决每个div点击出现不同的事件。
改进代码:
(function ($) {
var div = $("<div></div>").css({width: "100px", height: "100px"});
var colors = ["red", "blue", "yellow"];
for (var c = 0; c < colors.length; c++) {
var perDiv = div.clone();
perDiv.css({
background: colors[c]
});
perDiv.addClass("a"+c);
$("body").append(perDiv);
}
for (var e=0;e<colors.length;e++){
$(".a"+e).click(function () {
console.log($(this));
});
}
})($);
效果:

如图,每当点击一个对应就输出一个信息。
总结:给每个元素添加个class或id 就行了╮(╯▽╰)╭
补充:2016-09-24
先看代码:
$(function () {
var colors = ["red", "blue", "green"];
var div = $("<div></div>").css({width: "100px", height: "100px"});
for (var i = 0; i < colors.length; i++) {
var odiv = div.clone();
$("body").append(odiv);
odiv.index = i;
odiv.css({background: colors[odiv.index]});
}
});
效果图:

看效果和上面一样。
这个的好处:没有添加类名,还实现了 "有分别"
思路:通过给odiv附加个属性index来保存与其他odiv的不同
感觉这样写 高大上 有木有。。
补充:2016-11-30 10:07:36
var colors = ["red", "blue", "green"];
var div = $("<div></div>").css({width: "100px", height: "100px"});
function cloneDiv(num) {
for (var i = 0; i < num; i++) {
var odiv = div.clone();
odiv.css("background", colors[i]);
$("body").append(odiv);
odiv.on("click", function () {
console.log(this);
})
}
}
cloneDiv(colors.length);
运用this,实现不同。。
jQuery clone()方法绑定事件的更多相关文章
- jQuery之方法绑定(事件注册)代码小结
1.最直接的模式,直接将一个function对象传入方法函数,如下面的click(),好处坏处一看便知 $("#btnComfirmChooseCompany").click(fu ...
- Jquery on方法绑定事件后执行多次
每次绑定前先取消上次的绑定. $('#sub').unbind('click').click(function () { ... });
- jQuery on()方法绑定动态元素的点击事件无响应的解决办法
$('#check_all').on('click' , function(){ alert(1); }); $("#yujinlist").append(html); count ...
- jquery-10 jquery中的绑定事件和解绑事件的方法是什么
jquery-10 jquery中的绑定事件和解绑事件的方法是什么 一.总结 一句话总结:bind(); unbind(); one(); 1. jquery中的绑定事件和解绑事件的方法是什么? bi ...
- mui-当使用addeleventlisener()方法绑定事件时选择器无法绑定事件
在mui中绑定事件不能用jQuery或mui(“#XX”)的形式选取某个元素,而是document.getelementbyid()的形式 mui(“#XX”)可以使用on方法绑定事件
- JQuery Mobile - 为什么绑定事件后会被多次执行?
JQuery Mobile 在绑定事件时候,发现会被多次执行,为什么啊? 原来,jquery click 不是替换原有的function ,而是接着添加,所以才会执行次数越来越多,怎么办才能按需实现 ...
- 2017年3月25日工作日志:Jquery使用小结[绑定事件判断、select标签、军官证正则]
jQuery获取DOM绑定事件 在1.8.0版本之前,我们要想获取某个DOM绑定的事件处理程序可以这样: $.data(domObj,'events');//或者$('selector').data( ...
- 关于Jquery的delegate绑定事件无效
今天在做一个页面,用的是easyui页面有很多的tabs,里面都放了iframe 需要在load事件动态调整iframe高度 发现始终无法使用delegate来绑定load事件. 纠结了一下午发现了问 ...
- attachEvent方法绑定事件
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
随机推荐
- zImage.img、ramdisk.img、system.img、userdata.img介绍及解包、打包方法
ramdisk.img system.img userdata.img介绍及解包.打包方法 Android 源码编译后,在out/target/product/generic下生成ramdisk.im ...
- SqlSever基础 delete 删除符合特定条件的元素
y 镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.---------------------------------------- ...
- 十二 个经典 Linux 进程管理命令介绍
执行中的程序在称作进程.当程序以可执行文件存放在存储中,并且运行的时候,每个进程会被动态得分配系统资源.内存.安全属性和与之相关的状态.可以有多个进程关联到同一个程序,并同时执行不会互相干扰.操作系统 ...
- 2012 #5 Gold miner
Gold miner Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- CocoaPods的安装[转载]
[转载] 原地址http://www.tuicool.com/articles/7VvuAr3 觉得很好,很有用 iOS 最新版 CocoaPods 的安装流程 1.移除现有Ruby默认源 $gem ...
- Java中正则表达式的使用
public class Test{ public static void main(String args[]) { String str="@Shang Hai Hong Qiao Fe ...
- SQL GUID和自增列做主键的优缺点
我们公司的数据库全部是使用GUID做主键的,很多人习惯使用int做主键.所以呢,这里总结一下,将两种数据类型做主键进行一个比较. 使用INT做主键的优点: 1.需要很小的数据存储空间,仅仅需要4 by ...
- CSS3关于transition过渡
第一次写博客,心里竟然有点感动,注册了两个月了,一直不敢写,总觉得这应该是大神交流的地方.今天写的一个css3的一个导航,觉得挺好看,放在网页里,也可以起到一个点睛之笔的作用. 首先写好body标签中 ...
- shell script的连接符是逗号,不是英文的句号
举个例子: gawk 'BEGIN{ var[ var[ var[ var[ asort(var,test) for(i in test) print ] }' 这时候敲回车就能输出 Index: - ...
- 认识DOS
实验一.认识DOS实验 专业 物联网工程 姓名 叶慧敏 学号 201306104139 一. 实验目的 (1)认识DOS: (2)掌握命令解释程序的原理: (3)掌握简单的DOS调用方法: (4)掌 ...