我有这个
PAGE,我有如果你向下滚动地图到这里是我的代码
HTML
<ul class="play_navigation"> <li class="active"><a class="barino_story_bottom" href="#">The Story</a></li> <li><a class="barino_video_bottom" href="#">The Video</a></li> <li><a class="barino_gallery_bottom" href="#">The gallery</a></li> <li><a class="barino_equipment_bottom" href="#">The Equipment</a></li> </ul>
我的jQuery
<script type="text/javascript"> $(document).ready(function(){ $('.play_navigation a').click(function(){ console.log("this is the click"); return false; }); }); </script>
没有什么发生,如果我点击链接….你可以查看源,看到它有…但如果我粘贴在控制台它工作正常…什么给
解决方法
这个标记是否异步添加到DOM?在这种情况下你需要使用live
注意:.live已经在最新版本的jQuery中被弃用和删除(原因很好)。请参阅下面的事件委托策略,了解使用和解决方案。
<script> $(document).ready(function(){ $('.play_navigation a').live('click',function(){ console.log("this is the click"); return false; }); }); </script>
事实上,你可以重新运行你的脚本块并使其工作,告诉我,由于某些原因,元素在绑定时不可用,或绑定在某些时候被删除。如果元素在绑定时不存在,则需要使用live(或事件委托,最好)。否则,您需要检查您的代码以获取其他将要删除绑定的代码。
使用jQuery 1.7事件委托:
$(function () { $('.play_navigation').on('click','a',function (e) { console.log('this is the click'); e.preventDefault(); }); });
如果您希望在文档准备好之前想要绑定事件,那么还可以将事件委托给该文档(请注意,这也会导致jQuery检查每个单击事件以确定元素是否与适当的选择器匹配):
$(document).on('click','.play_navigation a',function (e) { console.log('this is the click'); e.preventDefault(); });
原文地址:https://www.jb51.cc/jquery/183587.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。