マウスを動かしたときに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 をサポートしていない問題の解決策 (テスト済み)
矢が放たれる前に、弓は矢にささやきました。「お前の自由は私のものだ。」スキーマは矢のようなもので、弓...
序文この記事は主に、MySQL の Innodb で 2T の大きなテーブルをすばやく削除する方法に...
表は以下のとおりです。 Unity が読み取って呼び出すときのコード: データベース内の別のテーブル...
この記事では、Spring boot + Maven プロジェクトのデプロイメントを例に、Code ...
HTMLハイパーリンクaタグのhrefジャンプとonclickの実行関係htmlのaタグのhrefは...
この記事では、例を使用して MySQL トリガーの構文とアプリケーションを説明します。ご参考までに、...
Xrdp は、グラフィカル インターフェイスを通じてリモート システムを制御できる Microsof...
具体的なコードは次のとおりです。 <!DOCTYPE html> <html>...
展開アニメーション効果のあるナビゲーションバーを設計してカスタマイズし、デモを作成してみました。設計...
Portainer は、Docker ホストと Docker Swarm クラスターの管理に使用でき...
1. DOCTYPE は必須です。ブラウザは宣言した DOCTYPE に基づいてページのレンダリング...
目次背景分析する方法背景MySQL は 26 日の 16:23:49 に大量のスロー クエリを生成し...
[mysql] replace の使用方法 (フィールドの内容の一部を置き換える) [mysql]...
1. Web標準の意味を理解する - なぜWeb標準を採用するのか***** コンテンツとスタイル...
目次メッセージボード必要なライブラリオープンソースプロジェクトプロジェクト構造メッセージボードnod...