$("#comic").click(function(){
nextPanel(comic);
});
nextPanel函数:
function nextPanel(comic){
if(comic.panel <= comic.pos[comic.page-1].length/2){
$('#panel_'+comic.page+'_'+comic.panel).css({display: "block"});
comic.panel+=1;
$("body").append("PING ");
}
else if(comic.page+1 <= comic.pos.length){
nextPage(comic);
}
}
第一次点击时,“PING”消息显示正常。但是元素没有出现(默认设置为“display:'none'”)直到第二次单击。这里发生了什么?
答案 0 :(得分:0)
我认为你应该改为:
$("#comic").on('click',function(){
nextPanel(comic);
});
这是因为,您的DOM中可能不存在该元素,并且您尝试在存在之前对其进行某些操作。因此,如果您像上面所示那样做,它可能会正常运行。如果不起作用,请尝试以下方法:
$("body").on('click', "#comic",function(){
nextPanel(comic);
});