JavaScript是单线程的吗?如果没有,我如何获得对共享数据的同步访问?

前端之家收集整理的这篇文章主要介绍了JavaScript是单线程的吗?如果没有,我如何获得对共享数据的同步访问?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个带有DIV的网页,带有鼠标悬停处理程序,用于显示弹出信息气泡.我不希望一次看到多个信息泡泡.但是当用户将鼠标快速移动到两个项目上时,我有时会得到两个气泡.这不应该发生,因为显示弹出窗口的代码会取消之前的弹出窗口.

如果这是一个多线程系统,那么问题就很明显了:有两个线程试图显示一个弹出窗口,它们都会取消现有的弹出窗口,然后弹出自己的弹出窗口.但我认为JavaScript总是运行单线程,这会阻止这一点.我错了吗?事件处理程序是异步运行的,在这种情况下我需要同步访问共享数据,还是应该在库代码中查找用于取消弹出窗口的错误

编辑添加

>有问题的库是SIMILE Timeline及其Ajax库;
>事件处理程序调用SimileAjax.DOM.cancelEvent(domEvt),我假设根据名称取消事件的冒泡;
>只是为了让事情变得更复杂,我实际上正在做的是开始超时,如果没有被moustout取消显示弹出窗口,这是为了防止弹出窗口烦人地闪烁但令人烦恼地产生相反的效果.

我还有另一个戳,看看我是否可以解决我出错的地方. 原文链接:https://www.f2er.com/js/155270.html

猜你在找的JavaScript相关文章