我正在使用Twitter Bootstrap的“警报”功能来显示用户通知,如下所示:
<div class="notification alert alert-info">
<button type="button" class="close" data-dismiss="alert">×</button>
My message goes here
</div>
这些通知将一直保留,直到用户将其关闭为止,因此,当用户单击“关闭”按钮时,我想向服务器发出一个ajax查询,指示应永久关闭该通知。
我正在使用jQuery的
on()
函数,如下所示:$(document).on('click', '.notification .close', function (e) {
alert('hi!');
console.log(e);
e.preventDefault();
});
这可以正常工作,但是我想知道是否有一种“ Bootstrappy”方式来做到这一点?
最佳答案
根据Bootstrap docs on alerts,我将绑定到对Bootstrap定制的close或close事件。
$(document).on('close', '.alert', function ()
{
var id = $(this).data('some_id');
$.get('closed.php?id='+id);
});
通过API公开了两个事件:
关闭-立即触发
已关闭-在所有动画完成后触发。我选择关闭-这样您就可以立即执行关闭操作,并且如果他们在动画完成之前导航/关闭,它仍然会被隐藏。
数据属性是为了使服务器端脚本能够区分警报。标记为:
<div class="alert" data-some_id='foobar'>
Close me!
</div>