如何给动态添加的元素指定事件
2个回答
2017-05-26
展开全部
本文实例讲述了jQuery给动态添加的元素绑定事件的方法。分享给大家供大家参考。具体分析如下:
jquery中绑定事件一般使用bind,或者click,但是这只能是对已经加载好的元素定义事件,那些后来添加插入的元素则需要另行绑定。在1.7版本以前使用live。但是在1.8版本以后推荐使用on。这里介绍jQuery中如何给动态添加的元素绑定事件
在实际开发中会遇到要给动态生成的html元素绑定触发事件的情况
例如
<div id="testdiv">
<ul></ul>
</div>
需要给<ul>里面动态添加的<li>标签添加click事件
jquery 1.7版以前使用live动态绑定事件
$("#testdiv ul li").live("click",function(){
});
jquery 1.7版以后使用on动态绑定事件
$("#testdiv ul").on("click","li", function() {
//do something here
});
希望本文所述对大家的jQuery程序设计有所帮助。
jquery中绑定事件一般使用bind,或者click,但是这只能是对已经加载好的元素定义事件,那些后来添加插入的元素则需要另行绑定。在1.7版本以前使用live。但是在1.8版本以后推荐使用on。这里介绍jQuery中如何给动态添加的元素绑定事件
在实际开发中会遇到要给动态生成的html元素绑定触发事件的情况
例如
<div id="testdiv">
<ul></ul>
</div>
需要给<ul>里面动态添加的<li>标签添加click事件
jquery 1.7版以前使用live动态绑定事件
$("#testdiv ul li").live("click",function(){
});
jquery 1.7版以后使用on动态绑定事件
$("#testdiv ul").on("click","li", function() {
//do something here
});
希望本文所述对大家的jQuery程序设计有所帮助。
展开全部
要看看你是怎么“动态添加”元素的。
如果你的元素是用click事件append进来的
那你的功能函数必须放在这个click事件里面。
比如:
$(".clickMeToAppendElement").click(function() {
$(".toBeAppend").append("<li><span><i class=\"icon J_classtree\">这是元素内容</i>");
$(".J_classtree").on("click",function(){
alert("终于进来了");
});
);
如果你把函数放在click事件外面,
最初加载页面的时候,$(".J_classtree")就找不到.J_classtree这个类,那段功能函数就添加不了了
如果你的元素是用click事件append进来的
那你的功能函数必须放在这个click事件里面。
比如:
$(".clickMeToAppendElement").click(function() {
$(".toBeAppend").append("<li><span><i class=\"icon J_classtree\">这是元素内容</i>");
$(".J_classtree").on("click",function(){
alert("终于进来了");
});
);
如果你把函数放在click事件外面,
最初加载页面的时候,$(".J_classtree")就找不到.J_classtree这个类,那段功能函数就添加不了了
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询