マウスを動かしたときにDIVが消えるように手ぶれ補正を使用する div タグ自体は onblur イベントをサポートしていないため、ボタンがクリックされたときにポップアップする div の場合、div がフォーカスを失ったときに消えるようにする必要がありますが、これは onblur を使用して実現することはできません。 ただし、onmouseout とイベントを使用すると、フォーカスを失ったときに DIV が消えるようにすることができます。 onmouseout を直接使用して消えることを実現すると、問題が発生する可能性があります。ボタンの位置とポップアップ div の位置が重ならない場合は、マウスが移動するとすぐに onmouseout イベントがトリガーされ、役に立ちません。 アンチシェイク、オンマウスアウト、オンマウスオーバーを組み合わせて使用することで、優れたぼかしイベントエクスペリエンスを実現します。 /** *マウスがdivイベント上を移動*/ 関数moveOverEvent(ele,outTimer) { overTimer を null にします。 関数()を返す{ clearTimeout(outTimer); //div が消えず、別の div が移動してきたら、最後に移動したイベントをクリアします。clearTimeout(overTimer); //アンチシェイク overTimer = setTimeout(()=>{ ele.style.display = "ブロック"; },500); } } /** *マウスアウト*/ 関数moveOutEvent(ele,outTimer) { 関数()を返す{ clearTimeout(outTimer); // 手ぶれ防止 outTimer = setTimeout(()=>{ // 移動後 500 ミリ秒待ってからこの div を消す ele.style.display = "なし"; },500); } } その後、div に tabindex 属性を追加することで、blur イベントを実装できることを偶然発見したので、上記のコードは無駄に書かれていたのかもしれません。 (追記: 上記の体験は、誤タッチを大幅に減らし、より良いものになったと思います) //tabindex を設定すると、要素はデフォルトで点線で表示されます。これは、ouline=0 を設定することで削除できます (IE では、hidefocus="true" を設定します)。 <div tabindex="0" アウトライン=0" 非表示フォーカス="true"></div> 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 |
<<: Baidu サイト検索が https をサポートしていない問題の解決策 (テスト済み)
まずは簡単なデータを見てみましょう。 Googleが発表したレポートによると、 ①中国の都市の97%...
el-dialogをコンポーネントとしてカプセル化するelement-ui を使用する場合、ポップア...
初めて MySQL FUNCTION を書いたとき、エラーが何度も発生しました。 Err] 1064...
目次1. この Web サイトには SQL インジェクションの脆弱性がある可能性があることが判明しま...
この記事では、参考までにMySQL 5.7.16の無料インストール版のチュートリアルを紹介します。具...
ユーザーが登録すると、ラベルをクリックして確認コードを変更します。クリックするとラベルに影の部分がで...
1. HTMLコードコードをコピーコードは次のとおりです。経験値: <span class=...
Linux サーバー A と B が 2 台あり、一方のサーバーから SSH 経由でパスワードなしで...
<br />長年の専門的なアートデザイン教育を通じて「美とは何か」を学びましたが、「美を...
目次uni-app の紹介HTML部分js部分インスタンスを作成する録音を開始録音終了録音を再生再生...
バージョンアップデートにより、元のユーザーのパスワードフィールドがauthentication_st...
a.htmとb.htmの2つのファイルがあります。同じディレクトリ内のa.htmの内容は次のとおりで...
目次1. 配列の平坦化(配列の次元削減とも呼ばれる)方法1: 削減メソッドを使用する方法2: スタッ...
目次1. タイマー監視2. イベント監視3.オブザーバー4. ウィンドウオブジェクト5. DOM参照...
目次トリガーとは何かトリガーを作成する複数の実行ステートメントを持つトリガーの作成制限と考慮事項要約...