点击事件的一部分仅适用于第二次点击

时间:2016-09-01 02:32:59

标签: javascript jquery

$("#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'”)直到第二次单击。这里发生了什么?

1 个答案:

答案 0 :(得分:0)

我认为你应该改为:

$("#comic").on('click',function(){
    nextPanel(comic);
});

这是因为,您的DOM中可能不存在该元素,并且您尝试在存在之前对其进行某些操作。因此,如果您像上面所示那样做,它可能会正常运行。如果不起作用,请尝试以下方法:

$("body").on('click', "#comic",function(){
    nextPanel(comic);
});
相关问题