我有一个网页(javascript),它有两种类型的事件:
- 画布中的单击事件(仅显示警报)。
- 每秒的周期性事件(由计时器触发)。
周期性事件忙了 200 - 300 毫秒(它正在启动同步 SOAP 调用)。
画布事件:
var c=document.getElementById("myCanvas");
c.addEventListener('click', function(e) {alert('Click');},false);
定期:
var timer1= new Timer(1000,"Refresh()"); // A library call
function Refresh()
{
timer1.stop();
// Synchronous SOAP call would come here
// with the results we draw the canvas again
timer1.start();
}
如果在进行 SOAP 调用时单击画布,则不会触发 click 事件,或者我假设是这样,因为未显示警报。
如果我在定期事件完成并再次调用它之前单击,则每次单击都会显示警报。
据我所知,如果在执行周期性事件时生成了单击事件,则应该延迟到另一个事件完成。
什么可能导致问题?
PD 我正在使用 Firebug(在 Firefox 上)来了解何时进行 SOAP 调用。