showNotification(message){
$("#notificationMessageBody").html(message); // line1
$("#notificationModal").modal('show'); //line2
}
所以,每当我调用showNotification(“Hello World!”)时,如何确保line1在line2之前执行(意味着内容加载在模态触发之前完成)
基本上,我试图在模态体中填写我的信息然后显示它,而不是在填充之前.
– 编辑 –
这些函数确实是一个接一个地执行,但是我的模态在jQuery将我的消息加载到我的#notificationMessageBody之前弹出
结果,例如:如果我调用showNotification(“Hello”),我得到一个带有“Hello”的模态(模态和东西的排列完成),但之后如果我调用showNotification(“World”)模态出现先用“Hello”然后再改为“World”.
注意:“你好”和“世界”是很大的文本垃圾,所以把它加载到我的DIV中必须花一些时间,我相信.即使它们被一个接一个地执行,但似乎(对于普通者)首先是模态弹出然后替换完成.我希望现在的情况有点清晰.
这个功能周围的任何地方都没有涉及AJAX.基本上,这是我可以说的自定义alert()函数.我的页面中有一个带有正确ID的模态.我改变了模态体内容(使用jQuery的.html()函数)并触发模式显示,如代码所示.
最佳答案
您可以使用
.promise()
方法(在jQuery 1.6中添加)以确保在第一个完成后执行第二个方法:
$("#notificationMessageBody").html(message).promise().done(function() {
$("#notificationModal").modal('show');
});