« [userChrome.js] 軽量マウスジェスチャ | [userChrome.js] 軽量マウスジェスチャで利用可能なスクリプト集 » |
[userChrome.js] 軽量マウスジェスチャ(改良バージョン)
[userChrome.js] 軽量マウスジェスチャを少し改良しました。先日のバージョンでは、右クリックによる mousedown イベントが発生した後に続けて mousemove イベントが発生して初めてジェスチャが開始されたとみなすロジックであった。
- mousedown→mousemove(ジェスチャ開始)→mousemove(ジェスチャ継続)…→mouseup(ジェスチャ終了)
しかし、このロジックですと mousedown から1回目の mousemove までにどれだけ大きくマウスポインタの位置を動かしたとしてもそれはジェスチャとして認識されないという問題があります。実際のところ mousedown から1回目の mousemove までの時間は一瞬ですので、その間に大きくマウスを動かすことはかなり難しいですが、読み込み中のタブがあって動作が鈍くなっているときに↓のジェスチャでタブを閉じようとすると、なぜか認識されずにコンテキストメニューが出てしまうといったケースが時々見られました。
今回のバージョンでは mousedown をした時点でジェスチャ開始とみなすというシンプルなロジックにしています。これによって上記の問題は解決され、今のところ快調に動いているように感じられます。
- mousedown(ジェスチャ開始)→mousemove(ジェスチャ継続)…→mouseup(ジェスチャ終了)
Very good site. Thank you.