【ご質問】
画面部品をシングルクリックまたはダブルクリックしてそれぞれ排他的に別々の処理をしたいと考えています。
しかし、ダブルクリックした場合、シングルクリック分のPointerPressイベントが発生してしまいまいた。
つまりダブルクリックの場合は、2回イベントが発生します。
これを制御し、ダブルクリックした時はシングルクリック分のPointerPressイベントが
発生しないようにすることは可能でしょうか。
【回答】
ダブルクリックをするとclick-countが1のときの処理が起動し、
その後click-countが2のときの処理が起動します。
この動作はCurlの仕様です。
以下は解決案の1つとして作成したサンプルです。
{curl 6.0,7.0,8.0 applet} {let my-alarm:#Alarm} {View |
クリック後、任意の時間内にもう一度クリックされるかどうかを判断し、実行する処理を変えています。
任意の時間は「”複数クリック実行時のクリック間の最大遅延秒数(0.3s)” + 0.1s」で設定しています。
ただしこの方法ですと、シングルクリック実行時の処理が遅く感じられます。
この処理の遅さが許容されるかどうかは分かりませんが、
PointerPressの回数に応じて処理を分岐させるような構造は、
見直して頂く必要があるように思われます。