diff options
Diffstat (limited to 'files/ja/web/api/element/wheel_event/index.html')
-rw-r--r-- | files/ja/web/api/element/wheel_event/index.html | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/files/ja/web/api/element/wheel_event/index.html b/files/ja/web/api/element/wheel_event/index.html new file mode 100644 index 0000000000..620784c22b --- /dev/null +++ b/files/ja/web/api/element/wheel_event/index.html @@ -0,0 +1,120 @@ +--- +title: 'Element: wheel イベント' +slug: Web/API/Element/wheel_event +tags: + - API + - DOM + - Element + - Event + - Reference + - WheelEvent + - wheel +translation_of: Web/API/Element/wheel_event +--- +<p>{{APIRef}}</p> + +<p><strong><code>wheel</code></strong> イベントは、ユーザーがポインティングデバイス (通常はマウス) のホイールボタンを回転させたときに発行されます。</p> + +<p>このイベントは標準外、非推奨の {{domxref("Element/mousewheel_event", "mousewheel")}} イベントを置き換えるものです。</p> + +<table class="properties"> + <tbody> + <tr> + <th scope="row">バブリング</th> + <td>あり</td> + </tr> + <tr> + <th scope="row">キャンセル</th> + <td>可</td> + </tr> + <tr> + <th scope="row">インターフェイス</th> + <td>{{domxref("WheelEvent")}}</td> + </tr> + <tr> + <th scope="row">イベントハンドラープロパティ</th> + <td>{{domxref("GlobalEventHandlers.onwheel", "onwheel")}}</td> + </tr> + </tbody> +</table> + +<div class="blockIndicator note"> +<p><strong>注:</strong> <code>wheel</code> イベントと {{domxref("Element/scroll_event", "scroll")}} イベントを混同しないでください。 <code>wheel</code> イベントの既定のアクションは実装固有のものであり、必ずしも <code>scroll</code> イベントを発行するわけではありません。その場合でも、ホイールイベントの <code>delta*</code> 値は必ずしもコンテンツのスクロール方向を反映しているとは限りません。したがって、スクロールの方向を取得するために、 <code>wheel</code> イベントの <code>delta*</code> プロパティに頼らないようにしてください。代わりに、 <code>scroll</code> イベント内のターゲットの {{domxref("Element.scrollLeft", "scrollLeft")}} や {{domxref("Element.scrollTop", "scrollTop")}} の値の変化を検出するようにしてください。</p> +</div> + +<h2 id="Examples" name="Examples">例</h2> + +<h3 id="Scaling_an_element_via_the_wheel" name="Scaling_an_element_via_the_wheel">ホイールで要素を拡大縮小</h3> + +<p>この例は、マウス (またはその他のポインティングデバイスの) ホイールを使用して要素を拡大縮小する方法を示します。</p> + +<pre class="brush: html notranslate"><div>Scale me with your mouse wheel.</div></pre> + +<pre class="brush: css notranslate">body { + min-height: 100vh; + margin: 0; + display: flex; + align-items: center; + justify-content: center; +} + +div { + width: 105px; + height: 105px; + background: #cdf; + padding: 5px; +}</pre> + +<pre class="brush: js notranslate">function zoom(event) { + event.preventDefault(); + + scale += event.deltaY * -0.01; + + // Restrict scale + scale = Math.min(Math.max(.125, scale), 4); + + // Apply scale transform + el.style.transform = `scale(${scale})`; +} + +let scale = 1; +const el = document.querySelector('div'); +el.onwheel = zoom;</pre> + +<p>{{EmbedLiveSample("Scaling_an_element_via_the_wheel", 700, 300)}}</p> + +<h3 id="addEventListener_equivalent" name="addEventListener_equivalent">addEventListener による同等のもの</h3> + +<p>イベントハンドラーは {{domxref("EventTarget/addEventListener", "addEventListener()")}} メソッドを使用して設定することもできます。</p> + +<pre class="brush: js notranslate">el.addEventListener('wheel', zoom);</pre> + +<h2 id="Specifications" name="Specifications">仕様書</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">仕様書</th> + <th scope="col">状態</th> + <th scope="col">備考</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName('UI Events','#event-type-wheel','wheel')}}</td> + <td>{{Spec2('UI Events')}}</td> + <td></td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<p>{{Compat("api.Element.wheel_event")}}</p> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{domxref("WheelEvent")}}</li> + <li><a href="/ja/docs/Web/API/Document/wheel_event">Document: <code>wheel</code> イベント</a></li> +</ul> |