繁体   English   中英

单击链接关闭工具提示; 如何预防

[英]Clicking link closes tooltip; how to prevent this

我正在使用以下代码切换工具提示

$('.call-out').toggle(
    function() { 
        $(this).find('.tip').addClass('tip-position').fadeIn("fast");
    },
    function() { 
        $(this).find('.tip').fadeOut("fast");
    }
);

在我的.tip中有一个带有锚点的列表,单击这些链接之一时,如何防止尖端关闭?

我尝试使用.not(); 从定位中排除锚点,但这不起作用。

$('.call-out').not('a').toggle(
    function() { 
        $(this).find('.tip').addClass('tip-position').fadeIn("fast");
    },
    function() { 
        $(this).find('.tip').fadeOut("fast");
    }
);

HTML样本

<div class='call-out w PMPB12UN'>
   <div class='tip'>
      <img src="images/graph/DFN2020MD-6.png" />
      <p class="description">
         xx
      </p>
      <ul class="bullet-blue-list">
         <li><a href="/pip/PMPB12UN" target="_blank" title="xx">Product Information</a></li>
         <li><a href="#" target="_blank" title="#">xx</a></li>
         <li><a href="#" target="_blank" title="Buy online">Buy online</a></li>
      </ul>
   </div>
   <div class='product_image'>
      <img src="images/graph/DFN2020MD-6.png" />
   </div>
   <div class='label'>
      <div class='top'>
         <p class='title'>xx</p>
      </div>
      <div class='middle'>
      </div>
      <div class='bottom'>
         <p class='package'>DFN2020MD-6</p>
      </div>
   </div>
</div>

谢谢!

一种方法是在单击超链接时添加event.stoppropagation 这样子anchor上的click事件不会传播到父级,从而导致切换。

$('.call-out a').click(function(e){
e.stopPropagation();
});

小提琴

请注意,此版本的切换已被弃用,并且在更高版本的jquery中不支持。

请参阅.toggle()文件。 对于那些您将注册单击事件并手动执行切换的事件。 它不再支持自己作为虚拟事件和2个回调。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM