Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当触发器为';单击';当';手册';_Javascript_Jquery_Twitter Bootstrap 3 - Fatal编程技术网

Javascript 当触发器为';单击';当';手册';

Javascript 当触发器为';单击';当';手册';,javascript,jquery,twitter-bootstrap-3,Javascript,Jquery,Twitter Bootstrap 3,我快发疯了,我试图理解工具提示的行为,但没有成功 1。第一个问题是当我尝试按插件在点击事件中使用它时(按钮1)->如果您将转到Fiddle,您将看到“content”属性内的函数在每次点击时被调用两次。。。为什么? 2。我想使用绑定到元素(按钮2)的工具提示,并在manual模式下显示它,但它根本不工作。。。为什么? HTML <div class="container"> <div class="row"> <div class="col-

我快发疯了,我试图理解工具提示的行为,但没有成功

1。第一个问题是当我尝试按插件在点击事件中使用它时(按钮1)->如果您将转到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>
1)它不是每次单击调用两次,而是每次单击调用一次,但它也计算使它消失的单击次数,只是文本仅每隔一次单击更新一次

2) 我不太清楚你的意思,你能进一步解释一下吗?我会编辑我的帖子。

$('#添加')。单击(函数(){
addButton()
})
var-ind=0;
//添加按钮
函数addButton(){
ind++;
//创建按钮
$按钮=$('');
$button.text('我不工作!:-('+ind);
$button.addClass('btn btn DARGER已发生爆炸');
$button.attr('data-html','true');
$button.attr('data-placement','left');
$button.attr('data-trigger','manual');
$button.attr('data-content','test'+ind);
//创建徽章
$span=$('0');
$wrap=$('');
$wrap.append($button).append($span);
//上台
$('#按钮')。追加($wrap);
}
//inclick事件
$('.container')。在('click','上。具有_popover',函数(){
//找到合适的徽章
$badge=$(this.parent().find('.badge');
//获取当前值
var i=$badge.text();
i=parseInt(i);
//增加一个
i++;
$badge.text(i);
//展示府绸
$(this.popover('show');
});

Ad 2.-我需要通过AJAX请求获取popover内容,我不想通过popover内容内的同步AJAX调用来获取此数据。我尝试在异步AJAX的成功状态内通过将popover内容传递给data attr来完成此操作,然后使用“popover('show')手动显示popover'但它不起作用。在绑定到元素后,我试图简化代码并手动显示popover。它起作用,但如果我想将此工具提示绑定到动态创建的元素,该怎么办?我已经知道解决方案,但我试图理解为什么它不能以我创建的方式工作。
 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');            
  }); 
$('#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');
});