DivWindow.prototype.popupShow=function(){
var element=document.getElementById(this.popup)
element.style.position = "absolute"
element.style.visibility = "visible"
element.style.display= "block"
element.style.width=this.width
element.style.height='auto'
//element.style.height=this.height
element.style.left = 100+"px"
element.style.top =100+"px"
//element.style.top =150+"px"
element.style.zIndex= 9999//主要更改地方
}
ps:z-index 属性设置元素的堆叠顺序。拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面。之前是因为你的z-index比umeditor里面的div的z-index的值小
出现js堆栈溢出的问题一般的情况有两种:1、检查自己的js代码看代码中有没有死循环。
2、代码中引用了jQuery-1.4.2.min.js这个js实现一些动态效果或者是辅助,这个版本的jQuery就存在这样的问题(同事就是遇到了这个问题)。
3、解决方案:
4、查询自己的代码,用ie8、ie9自带的js调试工具跟一遍代码看哪里出现了问题。
5、更换jQuery引用版本。
node 事件循环见: https://www.jianshu.com/p/69d2b70d3163 。
参考: https://jakearchibald.com/2015/tasks-microtasks-queues-and-schedules/?utm_source=html5weekly
we don't add another mutation microtask as one is already pending
三个概念: JS堆栈、宏任务、微任务。
js 是一个单线程语言。
在执行一个js文件的过程中, js堆栈 中一直有任务,执行过程中,如果碰到了 宏任务 或者 微任务 ,会将其分别放入 宏任务队列 和 微任务队列 中。
当js文件被执行完, js堆栈 为空,此时执行 微任务队列 中的所有任务。当执行 微任务 过程中碰到 宏任务 或者 微任务 ,同样会将其分别放入 宏任务队列 和 微任务队列 中。
当 微任务队列 为空,此时执行 宏任务队列 中的所有任务。在执行过程中
宏任务按顺序执行,且浏览器在每个宏任务之间渲染页面
所有微任务也按顺序执行,且在以下场景会立即执行所有微任务:
例子:
执行结果:(Chrome 89)