追加后执行功能
Carry out function after append
似乎讨论了很多,但找不到简单的答案。我想确保在将加载器图标添加到 DOM 后执行某个功能,但了解追加不支持此功能。有什么简单的解决办法吗?
当前代码:
$('#tab').on('shown.bs.tab', function(e) {
$("#htmlelement").append('<i class="fa fa-spinner fa-spin fa-fw"></i>');
functionafterappend();
});
.append
是一个同步函数。因此,这个解决方案是有效的,你的 functionafterappend()
只会在 append
执行后执行。
例如,看看下面的例子,我在附加完成 3 秒后触发警报
$('div')
.append(`<p>1. Append at ${console.log(new Date())}</p>`)
$('span')
.append(`<span> 2. Another Append at ${console.log(new Date())}</span>`);
// setTimeout(() => alert("Append has been completed"), 3000);
body {
padding:50px;
}
div {
border:2px solid #bbb;
background-color:#eee;
padding:10px;
margin:10px auto;
}
span {
display:block;
width:65px;
font:bold 12px Arial,Sans-Serif;
color:white;
padding:5px 10px;
background-color:black;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>Lorem ipsum dolor sit amet consectetur adipiscing elitr sed diam nonumy tempe goreng.</div>
这是在 append
之后做某事的最简单方法。当然,如果你想像这样链接函数:
.append('<span>1. Append</span>')
.prepend('<span>1. Append</span>')
如果你想完全发挥作用,你甚至可以像这样使用 Lodash 进行函数组合:
const newFunc = pipe(append, prepend);
似乎讨论了很多,但找不到简单的答案。我想确保在将加载器图标添加到 DOM 后执行某个功能,但了解追加不支持此功能。有什么简单的解决办法吗?
当前代码:
$('#tab').on('shown.bs.tab', function(e) {
$("#htmlelement").append('<i class="fa fa-spinner fa-spin fa-fw"></i>');
functionafterappend();
});
.append
是一个同步函数。因此,这个解决方案是有效的,你的 functionafterappend()
只会在 append
执行后执行。
例如,看看下面的例子,我在附加完成 3 秒后触发警报
$('div')
.append(`<p>1. Append at ${console.log(new Date())}</p>`)
$('span')
.append(`<span> 2. Another Append at ${console.log(new Date())}</span>`);
// setTimeout(() => alert("Append has been completed"), 3000);
body {
padding:50px;
}
div {
border:2px solid #bbb;
background-color:#eee;
padding:10px;
margin:10px auto;
}
span {
display:block;
width:65px;
font:bold 12px Arial,Sans-Serif;
color:white;
padding:5px 10px;
background-color:black;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>Lorem ipsum dolor sit amet consectetur adipiscing elitr sed diam nonumy tempe goreng.</div>
这是在 append
之后做某事的最简单方法。当然,如果你想像这样链接函数:
.append('<span>1. Append</span>')
.prepend('<span>1. Append</span>')
如果你想完全发挥作用,你甚至可以像这样使用 Lodash 进行函数组合:
const newFunc = pipe(append, prepend);