jQuery click事件不会触发?

wixjitnu  于 2023-11-17  发布在  jQuery
关注(0)|答案(5)|浏览(126)

我有这个PAGE,如果你向下滚动Map到li,这是我的代码

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>


什么都没有发生,如果我点击链接....你可以查看源代码,看到它在那里......但如果我粘贴在控制台它的工作正常......什么给

yacmzcpb

yacmzcpb1#

这个标记是异步添加到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();
});

llmtgqce

llmtgqce2#

您需要阻止默认事件(跟随链接),否则您的链接将加载一个新页面:

$(document).ready(function(){
        $('.play_navigation a').click(function(e){
            e.preventDefault();
            console.log("this is the click");
        });
    });

字符串
正如评论中指出的,如果你的链接没有href,那么它就不是一个链接,使用其他东西。
不工作?你的代码是一团糟!和ready()事件无处不在.清理它,把你所有的脚本放在一个ready事件中,然后再试一次,它很可能会解决问题。

wi3ka0sx

wi3ka0sx3#

我在这上面浪费了几个小时的时间。幸运的是,我找到了解决方案。如果你使用的是引导管理模板(AdminLTE),这个问题可能会出现。问题是我们必须使用adminLTE框架插件。
例如:ifChecked事件:

$('input').on('ifChecked', function(event){
   alert(event.type + ' callback');
});

字符串
更多信息click here .
希望对你也有帮助。

xmjla07d

xmjla07d4#

可能对某些人有用:检查

pointer-events: none;

字符串
在CSS中。它可以防止点击被JS捕获。我认为这是相关的,因为CSS可能是你在这种情况下最后一个查看的地方。

ct2axkht

ct2axkht5#

这是为我工作时,我想具体的锚点击

$(document).on('click', '.barino_story_bottom', function (e) {
  alert('The Story is clicked');
  e.preventDefault();
});

字符串

相关问题