获取后台接口数据,动态生成html代码,原来jquery的点击事件不能用了,这是为啥?代码如下:
index.html文件代码:
有引用aa.js
$(function(){
$.ajax({
type:"post",
url:"http://mobiletest.jomoo.cn:10001/mxm/api/v1/paper/getPaperList",
async:true,
data:{
jsonparm:{
"pageNo":"1",
"pageSize":"10"
}
},
success: function(data) {
console.log(data.detail.list.length);
console.log(JSON.stringify(data))
for(var i=0;i<=data.detail.list.length;i++){
}
var arr = [];
var htmlc =
"<div class='jm_row_list'>"+
"<div class='jm_row_line clearfix'>"+
"<!--微博主信息 -->"+
"<dl class='jm_cardwrap jm_feed_type'>"+....省略
arr.push(htmlc);
var reshtml = arr.join("");
$(".textBody").html(reshtml);
})
aa.js代码
$(function(){
/*查看图片*/
$(".jm_cardwrap jm_feed_type").click(function(){
var thisSrc = $(this).attr("src");
var thisIndex = $(this).index();
//没有从ajax获取数据之前,这些代码可以用,获取ajax数据,组装好,显示在页面后,这些代码不起作用了,为什么呢?求答案哦。
$(".jm_cardwrap jm_feed_type")
这个选择器应该是有问题的,按照你ajax返回的内容应该是$(".jm_cardwrap.jm_feed_type")
;再继续问题的关键:
解决办法:
1.jQuery 1.7版以前使用
live
动态绑定事件2.jQuery 1.7版以后使用
on
动态绑定事件