单击事件第一次不绑定但刷新页面后绑定

时间:2015-09-08 20:35:37

标签: jquery

我遇到一个奇怪的问题,标签的点击事件无法首次打开页面,但刷新同一页面后工作正常。我通过jquery审核检查,第一次没有绑定标记的事件,但刷新后绑定了一个click事件。

代码单如下:

<head>
    ...
    <script src="http://dev.wenba.ca/static/js/jquery.2.js?v=20150409" type="text/javascript"></script>
    <script src="http://dev.wenba.ca/static/js/jquery.form.js?v=20150409" type="text/javascript"></script>
    <script src="http://dev.wenba.ca/static/mobile/js/app.js?v=20150409" type="text/javascript"></script>
   ...
</head>
...
<div class="aw-question-detail">
...
    <a class="aw-invite-replay" href="#"><i class="icon icon-inviteask"></i> <?php _e('invite reply'); ?></a>
...
</div>
...

在mobile / js / app.js中:

$(document).ready(function () {
...
    $('.aw-invite-replay').click(function()
    {
        alert("click invite reply");
        if ($(this).parents('.aw-question-detail').find('.aw-invite-box').is(':visible'))
        {
            $(this).parents('.aw-question-detail').find('.aw-invite-box').hide();
            $(this).removeClass('active');
        }else
        {
            $(this).parents('.aw-question-detail').find('.aw-invite-box').show();
            $(this).addClass('active');
        }
    });
...

});

1 个答案:

答案 0 :(得分:1)

根据您对该问题的评论,我认为您的问题出在HTML而非脚本中。确保第一次加载页面时,.aw-invite-replay元素位于DOM中。您可以使用任何浏览器的开发人员工具进行检查。

如果元素在那里,您还可以尝试将每个script标记移动到问题评论中建议的body底部。