我遇到了一个奇怪的问题,一个标签的单击事件在第一次打开页面时不起作用,但在刷新同一页后却工作得很好。我通过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');
}
});
...
});
发布于 2015-09-09 05:07:43
根据你对这个问题的评论,我相信你的问题出在HTML上,而不是在你的脚本上。确保第一次加载页面时,.aw-invite-replay
元素在DOM中。你可以用任何浏览器的开发工具来检查这一点。
如果元素在那里,您还可以按照问题的注释中的建议,将每个script
标记移到body
的底部。
发布于 2015-09-09 21:50:49
当把js标签移到正文的底部时,它工作得很好。谢谢大家。
https://stackoverflow.com/questions/32466789
复制相似问题