4

我正在尝试使用 jQuery 即时打开 Foundation 警报框。当我尝试这样做时,关闭链接的行为有些不一致。如果页面上已经有一个警告框,则关闭链接有效。但是,如果我通过 JS 创建的框是页面上的第一个框,则关闭链接不起作用。我正在使用 Foundation 5.4.5。

我正在尝试做的简单演示:

HTML:

<a id="add">Add message</a>

JS:

$("#add").click(function(event) {
   $("body").append("<div class=\"alert-box\" data-alert>Dynamic alert<a class=\"close\">&times;</a></div>");
});

代码笔: http ://codepen.io/dgross/pen/myyerB

但是,修改 HTML 以包含单独的警报会使它们都起作用:

<a id="add">Add message</a>
<div class="alert-box" data-alert>
...etc

代码笔: http ://codepen.io/dgross/pen/qEEOqN

有没有我想念的官方方法?我也试过触发“open.fndtn.alert-box”事件,它似乎没有做任何事情。

4

1 回答 1

6

我只是在源代码中挖掘并找到了一个名为reflow. 将我的 JS 修改为以下解决了该问题:

$("#add").click(function(event) {
   $("body").append("<div class=\"alert-box\" data-alert>Dynamic alert<a class=\"close\">&times;</a></div>");
   $(document).foundation('alert','reflow');
});
于 2014-11-18T18:31:35.000 回答