我正在尝试使用 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\">×</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”事件,但似乎没有执行任何操作。
最佳答案
我刚刚挖掘了源代码,发现了一个名为reflow
的函数。将我的 JS 修改为以下内容解决了问题:
$("#add").click(function(event) {
$("body").append("<div class=\"alert-box\" data-alert>Dynamic alert<a class=\"close\">×</a></div>");
$(document).foundation('alert','reflow');
});
关于jquery - 如何使用 Javascript 正确创建警报框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27000394/