Javascript 当触发器为';单击';当';手册';
我快发疯了,我试图理解工具提示的行为,但没有成功 1。第一个问题是当我尝试按插件在点击事件中使用它时(按钮1)->如果您将转到Fiddle,您将看到“content”属性内的函数在每次点击时被调用两次。。。为什么? 2。我想使用绑定到元素(按钮2)的工具提示,并在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-
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');
});