aboutsummaryrefslogtreecommitdiff
path: root/files/ja/web/api/element/wheel_event/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/ja/web/api/element/wheel_event/index.html')
-rw-r--r--files/ja/web/api/element/wheel_event/index.html120
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">&lt;div&gt;Scale me with your mouse wheel.&lt;/div&gt;</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>