这里我无法将新创建的html上的click事件绑定为#topics-lists 除了这个新创建的元素之外,我的所有其他代码都正常工作 这是我使用jquery 1.6版本的所有js文件
$('document').ready(function()
{
var val1;
var val2;
$('#class-lists').find('a').click(function()
{
val1=$(this).attr('data-class');
$('#Varclass').attr('value',val1);
});
$('#subject-lists').find('a').click(function()
{
val2=$(this).attr('data-subject');
$('#Varsubject').attr('value',val2);
$.getJSON('http://localhost:8080/data/values/lists?standard='+val1+'&subject='+val2,function(data)
{
if(data.result=="Success")
{
var aa=[];
$.each(data.topics,function(key,val){
console.log(val);
aa.push('<div class="ui-block-b" ><a data-topic="'+val+'" href="#subtopics" data-transition="slide"><div class="block-c">'+val+'</div></a></div>');
});
$('#topics-lists').html(aa.join(''));
}
});
});
$('#topics-lists').find('a').bind('click',function(){alert('hi');});
});
请帮助我找到解决方法 感谢您宝贵的时间
答案 0 :(得分:0)
您可能需要使用live()
方法。查看http://api.jquery.com/live/。
答案 1 :(得分:0)
你需要在事件 之后将它们绑定到DOM,即
...
if(data.result=="Success") {
...
$('#topics-lists').html(aa.join(''));
$('#topics-lists').find('a').unbind('click').bind('click',function(){alert('hi');});
}
..
或者你可以使用jQuery的直播(从1.7开始不推荐使用)