当指针在父元素上时,Boostrap工具提示会在父元素隐藏之前触发悬停事件

Boostrap tooltip triggers hover event on parent element when pointer is on it before it is hidden

本文关键字:元素 隐藏 悬停 事件 Boostrap 指针 工具提示      更新时间:2023-09-26

所以我有这个标记

<div class="col-md-12 hypoteka" id="hypoteka1">
    <div class="row">
        <div class="clickable">
            <div class="col-md-2">
                <div class="row text-center">
                    <div class="col-md-offset-2 col-md-8">
                        <img src="whaever.jpg" class="img-responsive">
                    </div>
                </div>
                <div class="row">
                    <h3 class="text-center banka">whaever.</h3>
                </div>
                <div class="row text-center">
                    <i class="fa fa-3x fa-chevron-right"></i>
                </div>
            </div>
            <div class="col-md-8">
                <div class="row">
                    <div class="col-md-6 text-center splatka" title="Splátka" data-toggle="tooltip">
                        <span class="hodnota">730</span>€ / mes.
                    </div>
                    <div class="col-md-6 fixacia text-center" title="Fixácia" data-toggle="tooltip">
                        <i class="fa fa-hourglass"></i>
                        <span class="hodnota">2</span>roky
                    </div>
                </div>
                <div class="row">
                    <div class="col-md-6 text-center urok" title="Úrok" data-toggle="tooltip">
                        <i class="fa fa-line-chart"></i>
                        <span class="hodnota">1,85</span>%
                    </div>
                    <div class="col-md-6 preplatenie text-center" title="Preplatenie"
                    data-toggle="tooltip">
                    <i class="fa fa-plus"></i>
                    <span class="hodnota">7 900</span>€
                </div>
            </div>
        </div>
    </div>
    <div class="col-md-2">
        <div class="row">
            <p class="hodnotenie-text text-center">Hodnotenie</p></div>
            <div class="row">
                <p class="hodnotenie-cislo text-right">8/10</p></div>
                <div class="row text-center">
                    <i class="fa fa-2x fa-balance-scale"></i>
                    <input type="checkbox">
                </div>
            </div>
        </div>
    </div>
</div>

这个js

$('.clickable').hover(function (e) {
    $(this).find('.fa-chevron-right').toggleClass('fa-5x call-to-action');
});

$('[data-toggle="tooltip"]').tooltip({
    placement: 'bottom'
});

我在这里捕捉到了的行为

正如您在视频中所看到的,当指针在动画完成隐藏之前悬停在引导工具提示上时,它会触发可点击分区上的悬停事件。

我尝试在hidden.bs.tooltip上执行e.preventDefault(),但没有执行任何操作。我无法解释。有什么帮助吗?

我认为这是因为引导工具提示不是在定义hover操作的.clickable容器内创建的。将鼠标悬停在工具提示上时,将移动到.clickable容器的外部,因此,将鼠标从工具提示中移出时,hover事件将再次触发。

如果在工具提示中添加延迟,效果会更好(例如,显示/隐藏工具提示时延迟2秒)。尝试在工具提示消失之前将鼠标移到工具提示之外。