仮想マウスイベントとは
「仮想」マウスイベントとは、マウスとタッチ両方のイベントを抽象的に同様に扱うためにつくられました。これにより、開発者は mousedown, mousemove, mouseup, click のような基本的なマウスイベントにリスナーを登録できます。そしてプラグインは、このリスナーをデバイスごとに適切な、最も早く発行されるイベントに対して登録します。タッチ環境下では、通常のマウス環境におけるイベントの発生順を保つようにされています。たとえば vmouseup は常に vmousedown より後に発生します。そして vmousedown は vclick より先に発生するというような具合です。また仮想マウスイベントは、イベント内での情報抽出も標準化しています。そのためタッチ環境であっても、イベントオブジェクトから pageX, pageY, screenX, screenY, clientX, clientY などのプロパティが参照可能です。
注意:vclickについて
タッチデバイスで vclick を使うには、注意が必要です。Webkitベースのブラウザでは touchend イベントが発行されてから、およそ300ミリ秒ほど遅れて mousedown, mouseup, click イベントが発生します。仮想マウスイベントは、イベントの発行された時間とタッチイベントの発生した場所を計算するようにしています。異なった計算式が、デバイス毎に、あるいは同じデバイスでもOSのバージョン毎に、必要となる場合があります。このため、最初にタッチイベントが発生した要素と、実際に仮想マウスイベントがターゲットとした要素は異なっている場合があります。
タッチスクリーンでタップによりコンテンツが変化し、ポイントした位置に異なった要素が来てしまうようなケースでは、vclickではなく click イベントを使うようお勧めします。これはたとえばページ遷移や開閉式のコンテンツ、コンテンツが完全に置き換わってしまうような場合です。