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> ...
随机推荐
- C语言第3天标准的输入输出函数
:first-child { margin-top: 0; } blockquote > :last-child { margin-bottom: 0; } img { border: 0; m ...
- 高通平台msm8909 LK 实现LCD 兼容
前段时间小米出现红米note2 换屏门,现在我们公司也要上演了:有两个供应商提供不同IC 的LCD panel. 软件区分的办法是读取LCD IC 的ID 寄存器,下面解析高通平台LK中LCD兼容的过 ...
- 【Unity3D游戏开发】Application.systemLanguage无法区分简体中文和繁体中文 (二六)
游戏发布,语言本地化需要繁体中文和简体中文 iOS8版本之前没问题,iOS9上无法正常识别这两种语言 原因是在iOS9上,Unity通过Application.systemLanguage返回的简体中 ...
- DirectX 3d 取景变换
在世界坐标系中,几何体和摄像机都是相对于世界坐标系定义的.但是当摄像机的位置和朝向任意时,投影变换及其它类型的变的就略显困难或效率不高.为了简化运算,我们将摄像机变的至世界坐标系原点,并将其旋转,使摄 ...
- C#登录窗口及验证(+SQL)
团队成员及分工 团队: Blue 团队共有六人 姓名: 学号后四位: 贡献分: 张 宇(队长) 1152 1+1.7=2.7分 丁志愿 1 ...
- JavaScript 拼接JSON
<script language="javascript" type="text/javascript"> var json="" ...
- 多线程技术在iOS开发中的使用
进程和线程 要使用多线程,首先需要理解进程和线程这2个概念.这里我简单的说一下. 所谓进程对应的是一个应用程序,负责开辟内存空间供应用程序使用,但是进程不能执行任务(指令).一个进程至少包含一条线程, ...
- ios uiview封装动画(摘录)
iOS开发UI篇—核心动画(UIView封装动画) 一.UIView动画(首尾) 1.简单说明 UIKit直接将动画集成到UIView类中,当内部的一些属性发生改变时,UIView将为这些改变提供动画 ...
- NS_ASSUME_NONNULL_BEGIN,NS_ASSUME_NONNULL_END
Nonnull区域设置(Audited Regions) 如果需要每个属性或每个方法都去指定nonnull和nullable,是一件非常繁琐的事.苹果为了减轻我们的工作量,专门提供了两个宏:NS_AS ...
- updatePanel导致JS失效的解决办法(转)
吐槽下,维护别人之前做的项目好蛋疼,整个页面都是用微软的ajax框架. 今天给repeater用JS写一个hover事件 <script type="text/javascript&q ...