在一个div的事件改变div.InnerHTML会报错,但是InnserHTML还是被改变了,可能div只是抗议一下,但是讨厌的是这个错误无法屏蔽,所以这样的程序是不能给用户看的。
解决方法就是不要在div的事件中改变它的InnerHTML,我的解决方法就是用一个透明层盖住要改变InnertHtml的层。设置起来挺麻烦的,不过那个讨厌的错误提示再也不出现了。
在设置透明覆盖层的时候,用的语句是这样的:
Div1Cover.style.width = Div1.clientWidth;
Div1Cover.style.height = Div1.clientHeight;
其中Div1是要设置InnerHTML的层,Div1Cover是透明的覆盖在Div1上面的层。
这种方法在页面加载的时候调用没有问题,但是在页面不回传的情况下调用会有问题:
例如:
点击div弹出一个模态窗口,模态窗口关闭的时候设置div的innerHTML,当设置的innerHTML很长的时候,滚动条就会出现,在设置完div.innnerHTML以后马上调用设置上面的两条javascript语句,结果发现滚动条也被覆盖上了,分析了一下原因,可能是因为在那两条javascript执行的时候,设置div.innerHTML的语句尚未执行完成,所以滚动条还没出现,等滚动条出现的时候,divCover的宽度和高度已经设置完成。
解决方法:
在执行设置div.innerHTML的js语句后面,用setTimeOut( 那两条语句 , 200 ) 这样的语句来调用上面两条语句,我设置的延迟是200ms,到现在为止还没有发现什么问题。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架