jquery - 当在类上使用 jQuery 的单击事件时,如何避免为所有具有该类名的事件调用该事件?

标签 jquery events class click

我很抱歉这个措辞不好的问题,但是如果你看看代码,我要问的其实很简单。

$(".toggle").click(function () { 
    var togg = $(this).attr( 'id' );
    if( $(this).text() == 'Read More >>' )
    {
        $("." + togg).addClass( "myBlurbExpanded" , 2000 );
        $("." + togg).removeClass( togg , 2000 );
        $(this).text('Read Less >>');
    }
    else if( $(this).text() == 'Read Less >>' )
    {
        $(".myBlurbExpanded").addClass( togg , 2000 );
        $(".myBlurbExpanded").removeClass( "myBlurbExpanded" , 2000 );
        $(this).text('Read More >>');
    }
   });

我的页面在他们的照片旁边有一堆不同人的传记。我不希望整个简历可见,因此有一个“显示更多”和“显示更少”链接。 “显示更多/更少”链接具有“.toggle”类。因此,每次执行此单击时,所有传记都会展开。如何将传记扩展限制为仅单击的传记扩展。我是否以错误的方式将 .toggle 类添加到链接中?谢谢!

感谢您的回复。

首先,这是我的 html 示例

<div class="teamInfo">
    <h3 class="lightblue">John Doe</h3>
    <p class="lightblue"><strong>Programmer</strong></p>
    <div class="myBlurb8">
      information about this person
    </div>
    <a href="#" onclick="return false;" id="myBlurb8" class="toggle">Read More >></a>
</div>

接下来我会努力改变。 + 切换到 (this) 并看看会发生什么。

干杯!

最佳答案

您需要为点击函数的事件分配一个变量,然后使用 event.target 而不是 this,如下所示:

$(".toggle").click(function (event) { 
    var $target = $(event.target);
    var togg = $target.attr( 'id' );
    if( $target.text() == 'Read More >>' )
    {
        $("." + togg).addClass( "myBlurbExpanded" , 2000 );
        $("." + togg).removeClass( togg , 2000 );
        $target.text('Read Less >>');
    }
    else if( $target.text() == 'Read Less >>' )
    {
        $(".myBlurbExpanded").addClass( togg , 2000 );
        $(".myBlurbExpanded").removeClass( "myBlurbExpanded" , 2000 );
        $target.text('Read More >>');
    }
});

关于jquery - 当在类上使用 jQuery 的单击事件时,如何避免为所有具有该类名的事件调用该事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4729002/

相关文章:

php - 命名空间内所需的类无法实例化

python - 是否可以删除(不仅仅是取消链接)类(class)?

javascript - Jquery 删除隐藏的 onclick 类

javascript - Jquery 动画创建的元素

带有延迟的 JavaScript 事件处理滚动事件

c++ - 有没有办法从同一个类中的仿函数调用类方法?

asp.net - jQuery 的 $.ajax() 函数是否正确处理 ASP.NET 身份验证?

javascript - 无法获取父 ID

javascript - 比较表单提交时的复选框选中状态与页面加载状态

c# - EventHandler 和 ElapsedEventHandler 之间有什么区别?