为了账号安全,请及时绑定邮箱和手机立即绑定

悬停时激活 Popover 并单击任意位置关闭

悬停时激活 Popover 并单击任意位置关闭

慕森卡 2023-12-19 17:07:55
我正在使用 Bootstrap 4,并且想要使用弹出窗口,当您单击任意位置时,我可以将鼠标悬停在其中激活并关闭它。我还想让链接在弹出窗口中工作。任何人都知道如何让它发挥作用或者我错过了什么?$(document).ready(function(){    $('[data-toggle="popover"]').popover({        placement : 'top',        trigger : 'hover',        html : true    });});$('body').on('click', function (e) {    //only buttons    if ($(e.target).data('toggle') !== 'popover'        && $(e.target).parents('.popover.in').length === 0) {         $('[data-toggle="popover"]').popover('hide');    }});<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"><a href="mailto:test@test.com" data-toggle="popover" title="Popover" data-content="test content <a href='' title='test add link'>link on content</a>" data-original-title="test title">Test</a><script src="https://code.jquery.com/jquery-3.4.1.slim.min.js"></script><script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"></script><script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>
查看完整描述

2 回答

?
侃侃无极

TA贡献2051条经验 获得超10个赞

要呈现链接,请使用html: true并显示/隐藏弹出窗口,您可以使用以下代码:


$(document).ready(function() {

  $('[data-toggle="popover"]').popover({

    placement: 'top',

    html: true

  });


  $('[data-toggle="popover"]').on("mouseenter", function() {

    $(this).popover('show');

  });

  

  $('body').on('click', function(e) {

    $('[data-toggle=popover]').each(function() {

      if (!$(this).is(e.target) && $(this).has(e.target).length === 0 && $('.popover').has(e.target).length === 0) {

        $(this).popover('hide');

      }

    });

  });

});

html, body{ height: 100%; }

<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" />



<a href="mailto:test@test.com" data-toggle="popover" title="Popover" data-content="test content <a href='#' title='test add link'>link on content</a>" data-original-title="test title">Test</a>


<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js"></script>

<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"></script>

<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>



查看完整回答
反对 回复 2023-12-19
?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

请在弹出窗口中添加html: true,以便它可以呈现 HTML。


$(document).ready(function(){

    $('[data-toggle="popover"]').popover({

        placement : 'top',

        trigger : 'hover',

        html: true

    });

});


$('body').on('click', function (e) {

    //only buttons

    if ($(e.target).data('toggle') !== 'popover'

        && $(e.target).parents('.popover.in').length === 0) { 

        $('[data-toggle="popover"]').popover('hide');

    }

    //buttons and icons within buttons

    /*

    if ($(e.target).data('toggle') !== 'popover'

        && $(e.target).parents('[data-toggle="popover"]').length === 0

        && $(e.target).parents('.popover.in').length === 0) { 

        $('[data-toggle="popover"]').popover('hide');

    }

    */

});

<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">


<a href="mailto:test@test.com" data-toggle="popover" title="Popover" data-content="test content <a href='' title='test add link'>link on content</a>" data-original-title="test title">Test</a>


<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js"></script>

<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"></script>

<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>


查看完整回答
反对 回复 2023-12-19
  • 2 回答
  • 0 关注
  • 153 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信