MouseEvent

マウスイベント (DOM)

仕様書

マウス操作

[22] 次の各項も参照。

[27] マウスクリックは、フォーカスの移動を発生させます。 クリックは、マウスボタンの押下の後、ただちに元に戻す操作です。 つまり mousedownmouseupクリックに前後して発生します。 両操作にどれだけの間隔が認められるかは、プラットフォームの慣習によります。

[68] OS によっては、設定でクリックとみなす間隔を利用者が調整できます。

[69] クリックは、他にダブルクリックイベントも発生する場合があります。

[23] マウスの第2ボタン (標準では右ボタン) のクリックは、 文脈メニューを呼び出します。

[25] マウスが指示する位置はマウスポインターで示されるのが普通です。 マウスポインターcursor 特性などによって制御できます。

[24] マウスによってマウスポインターが移動すると、 移動イベントが発生します。

[26] マウスによって文書中の文字列画像などをドラッグすることで、 選択範囲を指定できます。また、 DnDイベントも発生します。

[28] 編集中の要素内でのクリックは、選択の解除やカーソル位置の移動を発生させることがあります。

[30] マウスクリックドラッグなどの操作は、 クリック位置がスクロールバーならスクロール操作を発生させることがあります。 <input type=range><input type=file>keygencontrols 属性つき媒体要素などの要素内の各部分ならそれぞれの制御子の操作を発生させることがあります。

[35] マウス操作により、フォーカスが移動することがあります。

[31] イベントループ一時停止は、反応を通常よりも抑制する必要があります。

[32] 各操作には、鍵盤の状態が影響することがあります。

[13] マウスイベントの一部は、 engagement gesture です。 その発生時に Pointer Lock の処理が実行されます。

[14] 固定状態では、マウスカーソル座標に基づくイベント発火しないことになっています。

固定状態参照。

[43] 固定状態では、 clientX/clientY, screenX/screenY利用者エージェント元のマウスカーソル位置によって決定しなければなりません >>39

マウスカーソルの移動

[40] movementX/movementY は、 前の mousemove イベントからの screenX/screenYとしなければなりません >>39

[44] 固定状態では screenX/screenY は変化しませんが、 movementX/movementY は通常通り変化させなければなりません >>39

[45] マウスカーソルから外れて改めて他の場所から入った場合など、 値が異常に大きくなる場合には、 0 に設定しなければなりません >>39

[42] 固定状態が解除された時外にマウスカーソルがあってマウスカーソル位置を受け取れず、 その後改めて内に入った場合、元の位置は未知であってを計算できないということで、 値は 0 としなければなりません >>39

[41] mousemove 以外では、 0 のままとしなければなりません >>39

合成マウスイベントを発火

[9] 合成マウスイベントを発火 (fire a synthetic mouse event) とは、

イベント型
イベント型
信頼しないフラグ
boolean
対象
節点
... について、次のようにすることをいいます >>6
  1. [38] イベントを、 MouseEvent イベントの作成の結果に設定します。
  2. [10] イベントの各状態を次の通り設定します。
    イベント型
    bubbles
    取り消し可能
    合成フラグ
    信頼済み
    信頼しないフラグが設定されていれば、
    [15] screenX, screenY, clientX, clientY, button
    0
    [16] ctrlKey, shiftKey, altKey, metaKey
    鍵盤の現在の状態 (該当するがなければ)
    [19] getModifiedState の返す値
    イベント作成時の鍵盤の状態
    [17] details
    1
    [18] relatedTarget
    null (特に指定のない場合)
  3. [11] 対象においてイベントdispatchした結果を返します。

[12] click メソッドから呼び出されます。

[20] clickイベントの発火合成マウスイベントを発火を使って定義されています。 isTrustedとなる場合や relatedTarget が設定される場合もあります。

メンバー

[36]

歴史

[1] Eureka Man &#187; Blog Archive &#187; Towards multi-touch in the browser ( 版) http://eurekaman.com/towards-multi-touch-in-the-browser (名無しさん 2007-02-01 13:24:44 +00:00)

[2] IEにマウスカーソルの動きを追跡できる問題、マイクロソフトはリスク小と主張 - Engadget Japanese ( ( 版)) http://japanese.engadget.com/2012/12/18/ie/

[4] IRC logs: freenode / #whatwg / 20120324 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20120324

[3] spider.io — Internet Explorer Data Leakage ( ( 版)) http://spider.io/blog/2012/12/internet-explorer-data-leakage/

[5] Javascript Madness: Mouse Events ( 版) http://unixpapa.com/js/mouse.html

[7] CSSOM View Module ( ( 版)) http://dev.w3.org/csswg/cssom-view/#extensions-to-the-mouseevent-interface

[8] HTML Standard ( ( 版)) http://www.whatwg.org/specs/web-apps/current-work/#hit-regions

[21] Pointer Events ( 版) https://dvcs.w3.org/hg/pointerevents/raw-file/tip/pointerEvents.html#dfn-compatibility-mouse-events

関連

[29] Pointer EventsTouch Events も参照。

[33] Editorial: define Event attribute defaults through IDL · whatwg/html@0be0229 ( 版) https://github.com/whatwg/html/commit/0be02299f128cbb7c65a7ce259fdd838fd44a4b5

[34] Editorial: major cleanup around firing and dispatching events (annevk著, ) https://github.com/whatwg/html/commit/8ffbd146d4709057e45dd6cfc81e7a70897050c5

[37] Editorial: use "creating an event" more and refactor click() (annevk著, ) https://github.com/whatwg/html/commit/467b98781f82f6bf1a91fad435982ff27d8d9999

[46] Make synthetic mouse events composed (annevk著, ) https://github.com/whatwg/html/commit/8f719cd3e0643a4cfa2ffb5d9c1eefc7985d6a3c

[47] Synthetic click activation steps should state whether the event is composed or not · Issue #578 · w3c/webcomponents () https://github.com/w3c/webcomponents/issues/578

[48] Make synthetic mouse events composed by annevk · Pull Request #2999 · whatwg/html () https://github.com/whatwg/html/pull/2999

[49] Merge pull request #155 from dtapuska/gh-pages (garykac著, ) https://github.com/w3c/uievents/commit/40e9a8e7caa92ea10cf16ad8bb593d193553ac22

[50] Add text around dispatching mouseenter/leave/out/over when an element by dtapuska · Pull Request #155 · w3c/uievents () https://github.com/w3c/uievents/pull/155

[51] Dispatch mouseenter/leave/out/over when the layout (or scroll) changes · Issue #154 · w3c/uievents () https://github.com/w3c/uievents/issues/154

[52] "create an event" doesn't work for certain UI events · Issue #414 · whatwg/dom () https://github.com/whatwg/dom/issues/414

[53] Define event constructing steps by annevk · Pull Request #614 · whatwg/dom () https://github.com/whatwg/dom/pull/614

[54] Define "event constructing steps" for complicated events · Issue #194 · w3c/uievents () https://github.com/w3c/uievents/issues/194

[55] 52174 – Control-click on Mac should trigger a mouse event with event.button == 2 () https://bugs.webkit.org/show_bug.cgi?id=52174

[56] 276941 - Implement MouseEvent buttons attribute - chromium - Monorail () https://bugs.chromium.org/p/chromium/issues/detail?id=276941