2種類のイベントがあるWebページ(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呼び出しが行われているときにキャンバスをクリックすると、クリックイベントが発生しないか、アラートが表示されないためだと思います。
定期的なイベントが終了し、再度呼び出される前にクリックすると、クリックするたびにアラートが表示されます。
私の知る限り、定期的なイベントの実行中にクリックイベントが生成された場合、もう一方のイベントが終了するまでそれを遅らせる必要があります。
問題の原因は何ですか?
PD私はFirebug(Firefox上)を使用して、SOAP呼び出しがいつ行われるかを知っています。