[解決済み] <input type=number>` のスクロールを無効化する。
2022-04-24 11:34:05
質問
数値入力欄でスクロールホイールによる数値変更を無効にすることは可能でしょうか?
webkit固有のCSSをいじってスピナーを消したのですが、この動作を完全になくしたいです。私は
type=number
iOSでキーボードが表示されるからです。
解決方法は?
他の人が提案したように、input-number要素でのmousewheelイベントのデフォルト動作を防止します("blur()"を呼び出すことは通常、ユーザーが望むことではないので、それを行うには好ましい方法ではないでしょう)。
しかし、私なら、すべての input-number 要素で常に mousewheel イベントをリッスンすることは避け、その要素がフォーカスされているときだけリッスンします(そのときに問題が発生するのです)。そうでなければ ユーザがページをスクロールできない マウスポインタが input-number 要素の上のどこかにあるとき。
jQueryで解決。
// disable mousewheel on a input number field when in focus
// (to prevent Chromium browsers change the value when scrolling)
$('form').on('focus', 'input[type=number]', function (e) {
$(this).on('wheel.disableScroll', function (e) {
e.preventDefault()
})
})
$('form').on('blur', 'input[type=number]', function (e) {
$(this).off('wheel.disableScroll')
})
(フォーカスイベントを周囲のフォーム要素に委譲する - イベントリスナーが多すぎてパフォーマンスが悪くなるのを避けるため)
関連
-
vueにおけるv-forループオブジェクトのプロパティ
-
[解決済み】<select>で現在選択されている<option>をJavaScriptで取得するにはどうすればよいですか?
-
[解決済み] textareaのresizableプロパティを無効にするにはどうしたらよいですか?
-
[解決済み] Webフォームのフィールド/入力タグでブラウザのオートコンプリートを無効にするにはどうすればよいですか?
-
[解決済み] jQueryで入力を無効化/有効化する?
-
[解決済み] Chromeの同一生成元ポリシーを無効にする
-
[解決済み] <button> vs. <input type="button" />. Which to use?
-
[解決済み] input type="file "ボタンのスタイリング
-
[解決済み】入力番号の上下の矢印ボタン(スピナー)を非表示にする - Firefox 29
-
[解決済み】 input type="number "でのwebkitのスピンボタンを無効にする?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Vue Element-uiは、アイコンを追加するためのツリーコントロールノードを詳細に実装しています。
-
JavaScriptにおけるマクロタスクとミクロタスクの詳細
-
Vueのクラススタイルの使い方の詳細
-
Vueでルートネスティングを実装する例
-
[解決済み] Error : 未定義のプロパティ 'map' を読み取ることができません。
-
[解決済み] 期待される代入または関数呼び出し: 未使用式なし ReactJS
-
[解決済み】ExpressJS : res.redirect()が期待通りに動かない?
-
[解決済み】 Uncaught TypeError : undefined のプロパティ 'replace' を読み取れない In Grid
-
[解決済み】リクエストに失敗していないのに、「TypeError: failed to fetch」が表示される。
-
OSSアップロードエラーを解決する: net::ERR_SSL_PROTOCOL_ERROR