1

我正在使用 Twitter Bootstrap 中的“警报”功能来显示用户通知,如下所示:

<div class="notification alert alert-info">
 <button type="button" class="close" data-dismiss="alert">&times;</button>
 My message goes here
</div>

这些通知在用户关闭它们之前一直存在,因此当用户单击“关闭”按钮时,我想向服务器发出一个 ajax 查询,指示应该永久关闭通知。

我正在使用 jQuery 的on()函数,如下所示:

$(document).on('click', '.notification .close', function (e) {
    alert('hi!');
    console.log(e);
    e.preventDefault();
});

这很好用,但我想知道是否有“引导”的方式来做到这一点?

4

2 回答 2

3

Bootstrap 3.0中,您需要使用命名空间事件名称:

$('.alert').bind('closed.bs.alert', function () {
        var id = $(this).data('some_id');
        $.get('closed.php?id='+id);
})
于 2014-01-11T11:25:48.327 回答
2

根据警报上的 Bootstrap 文档,我将绑定到 Bootstrap 自定义的关闭或关闭事件。

$(document).on('close', '.alert', function  () 
{
    var id = $(this).data('some_id'); 
    $.get('closed.php?id='+id);
});

通过 API 公开了两个事件:

  1. close - 立即触发
  2. 关闭 - 在所有动画完成后触发。我会选择关闭 - 这样您可以立即执行此操作,如果他们在动画完成之前导航/关闭,它仍然会被隐藏。

数据属性是能够让服务器端脚本区分警报。标记将是:

<div class="alert" data-some_id='foobar'>
    Close me!
</div>
于 2013-07-08T03:05:14.390 回答