如何在jQuery中检查目标是否从元素中删除?

时间:2017-04-05 12:39:47

标签: javascript jquery

$(".dropdown-toggle").click(function(event) {
    var target = $(event.target);
    if (target.is(this)) {
      $(this).find(".caret").toggleClass("customcaret");
    }
});

<div class="dropdown-toggle">
    <div class="caret"></div>
</div>

当我点击.dropdown-toggle.caret .dropdown-toggle正在受影响(正在更改课程)时,此代码正常工作。

但是,如果我点击.customcaret之外,我现在想要从.caret切换.dropdown-toggle课程。

2 个答案:

答案 0 :(得分:2)

您必须在脚本中进行更改,如:

<强> HTML

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="dropdown-toggle" style="float:left;">
    <div class="caret">Click Here</div>
</div>

<强> SCRIPT

$(document).ready(function() {
    $(".dropdown-toggle").click(function(event) {
        event.stopPropagation();
        $(this).find(".caret").addClass("customcaret");
    });
    $("body").click(function() {
        if($(".dropdown-toggle").find(".caret").hasClass("customcaret")){
            $(".dropdown-toggle").find(".caret").removeClass("customcaret");
        }
    });
});

答案 1 :(得分:1)

您可以在正文上创建一个点击事件,从您的元素中删除“customcaret”类。