WEB程序开发中,对于使用jQuery生成的新元素或新添加的元素,经常需要用jQuery对新建的元素绑定click事件。由于默认的 click事件是不起作用的,必须给新生成的元素进行click事件绑定。这几天由于项目需要,通过使用jQuery生成新元素,同时给新元素绑定 click事件和change事件,经过项目实践,我总结一下相关知识,通过使用最简单的方法,实现jQuery绑定click事件,供参考。
HTML代码如下:
<form>
<div id=”
newElement
“></div>
<input type=”button” value=”生成新元素” id=”
createElement
” />
</form>
Javascript代码如下:
$(document).ready(function(){
$(”#
createElement
“).click(function(){
//统计当前页面中使有以newButton_开头的元素个数,生成ID
id
= $(”[id^='
newButton_
']“).size()+1;
//生成新元素,追加到ID值为newElement的元素中
$
(box.getButton(id)
).appendTo($(”
#newElement
“));
//绑定click事件,其它change事件类似
$(”
#newButton_”+id
).click(function(){
box.getClick();
});
});
});
//生成一个对象盒子,面向对象思想,封装我们的函数,强烈推荐这种方法
var box = {};
box.getButton
= function(id){
return ‘<input type=”button” value=”新按钮” id=”
newButton_’+id+
‘” /><br />’;
//返回任何你需要生成的新元素
}
box.getClick
= function(){
alert(’事件生效啦!你点击了新按钮’);
//添加任何你需要的代码
}
效果图如下:
其实过程很简单,可分为三个步骤,总结一下:
第一步:生成新元素;
如:$(
box.getButton(id)
).appendTo($(”
#newElement
“));
第二步:对需要绑定事件的新元素进行click事件绑定,
注意:新元素的ID是唯一的,这样才能正确绑定;
如:$(”
#newButton_”+id
).click(function(){
box.getClick();
});
第三步:绑定什么click事件,事件的具体代码;
如:
box.getClick
= function(){ alert(’事件生效啦!你点击了新按钮’); }
使用jQuery给javascript生成的新元素绑定click事件方法还很多,这里只是介绍其中一种,个人觉得这种jQuery绑定click事件方法是最有效的而且代码精简,感觉也很舒服,推荐!