ajax动态加载的div无法引用jquery方法
如题,我用ajax技术将一个jsp中的内容加载到当前页面的一个div中,div里面的控件可以引用本页面的css和javascript方法,但jquery方法都无效,求高手...
如题,我用ajax技术将一个jsp中的内容加载到当前页面的一个div中,div里面的控件可以引用本页面的css和javascript方法,但jquery方法都无效,求高手解答,是文档就绪函数的原因吗,急!
展开
5个回答
2012-08-02 · 知道合伙人互联网行家
关注
展开全部
应该是jquery的监听问题,ajax成功后append进来的数据不会被原先已经定义好的函数识别。对于这种情况,我一般采用将所有jquery函数归入一个函数中,然后在ajax的success函数内部调用这个函数,以识别新增数据。示例:
$(document).ready(function(){
function myListener(){
$("#abc").click(function(){
//dosomething
});
$("#getData").click(function(){
$.ajax({
url: url, //url为变量
success:function(msg){
$("#feedback").append(msg);
myListener(); //监听,相当引入所有其中的函数。
}
});
});
}
});
$(document).ready(function(){
function myListener(){
$("#abc").click(function(){
//dosomething
});
$("#getData").click(function(){
$.ajax({
url: url, //url为变量
success:function(msg){
$("#feedback").append(msg);
myListener(); //监听,相当引入所有其中的函数。
}
});
});
}
});
展开全部
出于性能考虑,对于动态加入的新元素是无法直接使用jquery方法的,会出现一些新加入的元素无法点击等的情况。
jquery中提供了一个on方法,这个方法支持将事件与元素绑定,这样对后面动态加入的元素也一样有效。
例如,后加入的id为test的点击事件:
$("#test").on("click", function(){
alert('hit me');
});
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以取查阅jquery动态元素操作,提示,可以用Live绑定某些事件,还可以用事件对象
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你代码原因!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以用
$('#xxx').live('click', function(){
//你的代码。
});
$('#xxx').live('click', function(){
//你的代码。
});
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询