繁体   English   中英

Bootstrap 3工具提示在触发器为“点击”时表现异常,而在“手动”情况下不起作用

[英]Bootstrap 3 Tooltip behave wierd when trigger is 'click' and not working when 'manual'

我快疯了,我尝试理解工具提示的行为,但未成功。

1.第一个问题是,当我尝试通过插件(按钮1)在click事件中使用它时,如果您转到Fiddle,那么您会发现“ content”属性内的函数每次单击都被调用两次...为什么?

2.我想使用绑定到某个元素(按钮2)的工具提示,并在manual模式下显示它,但是它根本不起作用...为什么?

HTML

<div class="container">
    <div class="row">
        <div class="col-xs-12">
            <br/>
            <a href="#" class="btn btn-success">I'm working! :-D</a>   <span class="badge b0">0</span>         
            <br/>
        </div>        
    </div>
    <div class="row">
        <div class="col-xs-12">
            <br/>
            <a href="#" class="btn btn-danger">I'm not working! :-(</a>   <span class="badge b1">0</span>         
            <br/>
        </div>
    </div>
</div>

JS

 var i = 0, j = 0; 

 $('.container').popover({
        selector: '.btn-success',
        html: true,
        placement: 'right',
        container: '.container',
        trigger: 'click',            
        content: function(){
            $('.badge.b0').text(j++);
            return 'test';
        }
  });

  $('.container').popover({
        selector: '.btn-danger',
        html: true,
        placement: 'right',
        container: '.container',
        trigger: 'manual',            
        content: 'test'
  });

  $('.container').on('click', '.btn-danger', function(){
        $('.badge.b1').text(i++);
        $(this).popover('show');            
  }); 

小提琴

http://jsfiddle.net/gepbmonh/8/

$('#add').click(function () {
     addButton()
 })

var ind = 0;
// adding buttons
function addButton() {
     ind++;
     // creating button
     $button = $('<a href="#"></a>');
     $button.text('I\'m not working! :-( ' + ind);
     $button.addClass('btn btn-danger has_popover');
     $button.attr('data-html', 'true');
     $button.attr('data-placement', 'left');
     $button.attr('data-trigger', 'manual');
     $button.attr('data-content', 'test ' + ind);
     // creating badge  
     $span = $('<span class="badge b' + ind + '">0</span>');

     $wrap = $('<div></div>');   
     $wrap.append($button).append($span);

     // add to the stage
     $('#buttons').append($wrap);
}
//inclick event
$('.container').on('click', '.has_popover', function () {
     // find an appropriately badge
     $badge = $(this).parent().find('.badge');
     // get current value
     var i = $badge.text();
     i = parseInt(i);
     // increase for one
     i++;
     $badge.text(i);
     //showing popover
     $(this).popover('show');
});

1)并不是每次点击都会被调用两次,而是每次点击都会被调用一次,但是它还会计算使它消失的点击次数,仅文本会每隔一次更新一次。

2)我不太确定您的意思,请您进一步解释,我将编辑我的帖子。

暂无
暂无

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

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