マウスを動かしたときに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 をサポートしていない問題の解決策 (テスト済み)
目次1. 事例紹介2. システムのデフォルトのストレージエンジンとデフォルトの文字セットを表示する3...
目次1. Nginx の紹介1. Nginx とは何ですか? 2. Nginx を使用する理由3. ...
HTML タグには、ページのタイトルを処理するための特別なタグがあります。これらは h1、h2、h3...
フロントエンド プロジェクトでは、添付ファイルのアップロードは非常に一般的な機能であり、ほぼすべての...
1. システムに必要な libaio ソフトウェアがインストールされていることを確認します。インスト...
前面に書かれた過去および現在のプロジェクトで最も一般的に使用されているリレーショナル データベースは...
この記事では、シンプルなカレンダー効果を実現するためのJSの具体的なコードを参考までに紹介します。具...
1. サーバーのセットアップリモート リポジトリは実際にはローカル リポジトリと何ら変わりなく、純粋...
a href="#"> リンクをクリックすると、ページがページ上部までスク...
この記事では、jQueryでカルーセルチャートを実装するための具体的なコードを参考までに共有します。...
1. 文法 場所 [=|~|~*|^~|@] /uri/ { ... } 2. 説明上記の構文から、...
1. .shファイルを実行する./sh ファイルを使用して直接実行することもできますが、現在のターミ...
背景ブラウザの互換性の問題を解決するのは非常に面倒なことです。高度な技術はそれほど必要ありませんが、...
効果画像: html: <div class='site_bar'>ホー...
デフォルトでは、ラベルとスパンの幅の設定は無効です。一般的に、表示属性は必須ですコードをコピーコード...