从JS多次显示引导警报

时间:2016-04-13 09:19:43

标签: javascript jquery twitter-bootstrap

<div id="alertError" class="alert alert-danger">
        <a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a>
        <div id="alertErrorText"></div>
</div>

我希望在我的代码中从多个位置显示此警报。到目前为止,我使用下面的代码打开警报,但此解决方案只能运行一次。用户关闭警报后,下次执行以下代码时,将不会显示警报。

$("#alertErrorText").html('error');
$("#alertError").fadeIn("slow");

如何解决此问题?

2 个答案:

答案 0 :(得分:2)

data-dismiss="alert"导致元素从DOM本身中删除。您应该删除它并编写自己的处理程序来隐藏警报,例如:

$('.alert .close').on('click',function(){
  $(this).closest('.alert').hide();
});

$("#alertErrorText").html('error');
$("#alertError").fadeIn("slow");
<div id="alertError" class="alert alert-danger">
  <a href="#" class="close" aria-label="close">&times;</a>
  <div id="alertErrorText"></div>
</div>

Demo

答案 1 :(得分:1)

根据Bootstrap的文档:

$('#alertError').on('close.bs.alert', function (event) {
    //your code to fade out the element and prevent default comportement.
})

&#34;通过从DOM中删除警报来关闭警报。如果元素上存在.fade和.in类,则警报将在删除之前淡出。&#34;

这是正常的,你无法重复使用它。但是您可以在关闭事件上绑定代码并淡出警报。

Get-EventLog System -After ([datetime]::Today) | Where-Object { $_.EntryType -eq "Error" }