検索
ホームページウェブフロントエンドhtmlチュートリアル[bootstrap] の [tooltip] にある bugs_html/css_WEB-ITnose ではないバグに関する私の個人的な意見

まず、この問題の背景について話させてください。

ページ内に div があります。この div の右上隅 (または他の場所) に × アイコンがあります (このアイコンはツールヒントを追加します)。このような「クリックして削除」という同様の単語をクリックして、この div に対して delete() のような削除操作を実行します。

その後、問題が発生しました。この div が削除されたため ()、生成されたツールチップに対応する × アイコンも削除されました () が見つかりませんでした。そのため、対応するマウスアウト (おそらく、mouseleave イベント、ブートストラップを参照してください)ソース コードに手がかりが見つかりませんでした。おそらく、これら 2 つのイベントのうちの 1 つがトリガーされず、ツールチップが常に表示されることになります。これはバグです。

言葉で言うことはあまりありませんが、上の図の方が直感的です。

最初にコードを添付します:

[コード部分] (ブートストラップ ファイルと内部の js はローカルにあるため、自分で実行してみたい場合は変更する必要があります):

<!DOCTYPE html><html lang="zh-CN"><head>    <title>test</title>    <meta charset="utf-8">    <link rel="stylesheet" href="./bootstrap/css/bootstrap.min.css">    <link rel="stylesheet" href="./font-awesome/css/font-awesome.min.css">    <script src="./bootstrap/js/jquery-1.11/jquery.min.js"></script>    <script src="./bootstrap/js/bootstrap.min.js"></script></head><body>    <div style="width:70%;margin:50px auto;height:300px;">        <a id="test01" href="javascript:;" data-toggle="tooltip" title="反馈错误" data-placement="top" data-container="body">            <span  class="fa fa-bug"></span>        </a>        <a id="test" href="javascript:;" data-toggle="tooltip" title="点击移除" data-placement="top" data-container="body">            <span  class="fa fa-times"></span>        </a>    </div>    <script>        $("[data-toggle='tooltip']").tooltip();                $("#test").on("click",function(){            var $this = $(this);            $this.remove();            $(".tooltip.fade.top.in").remove();//这行代码是我个人用来解决这个问题而添加的        })    </script></body></html>

Firefox、ページエフェクトと対応するコード (上に添付したコードよりも重いように見えますが、より直感的です)

対応するアイコンの上でマウスをクリックします (ブートストラップによって提供されるスタイルと JS を使用してツールチップが追加されています)フレームワーク))、同時にツールチップに対応する div の ID に注目してください

カーソルを移動した後、対応する × アイコンにフォーカスし、ID を比較すると、ID が変更されていることがわかります

ここで、もともとブートストラップのソースコードを見て、ツールチップのソースコードにどのように書かれているかを見て、問題を根本から解決するつもりでした。

一部見た後、今の経験の浅さには少しストレスを感じました。

しかし、少なくともこの観点からは、生成されるツールチップの ID はランダムであり、ツールチップの非表示は「display:none」の非表示ではなく、「remove()」の非表示です。

追記:私の個人的な理解ですが、それが正しいかどうかはわかりません。誰かが私にアドバイスをくれることを願っています。

以下に示すように、バグを再現してみましょう。

次に、そのコード行のコメントを解除して、私独自の方法で試してみましょう。

上記は私の方法で得られた最終結果です。

× アイコンを削除し、バグ アイコンの上にマウスを移動すると、ツールチップは正常に表示されます。少なくとも、スクリーンショットに関しては、スペースをとりすぎるため、まだアップロードされていません。

追記: この方法を同僚に話しました。ツールチップは完全なセットであるブートストラップによって提供されるフレームワークを使用しているため、変更すると他の場所で問題が発生するのではないかと心配なので、初心者の私は変更します。これはあきらめてください。方法はあります。マスターが指導して、より良い方法を考え出すことを願っています。

【まとめ】

最後に、もう一言。

最初のアイデアは、削除する要素を通じて対応する生成されたツールチップを見つけて、それを非表示にすることでした(表示:なし)。後で、それが見つからないことがわかりました。

IDは変わり続けるから(個人的な推測ですが、ソースコードを読むのがちょっとストレスなので検証はしていません。少なくともIDはランダムに生成されるべきです。ルールがあるとしても、本当にわかりません)、最初の 2 つのスクリーンショットで述べたように、クラスを通じて検索しても一意のラベルが見つからない可能性があります。同じページに他のラベル要素があるためです。ツールチップも使用できます。

ローカルで試してみたところ、主な理由は、生成されたツールチップが削除されていないことです (上記のスクリーンショットで述べたように、「非表示」にする必要がない理由は、ツールチップが display:none をプロンプトするためではなく、直接Remove() このヒント)。

そこで考えたのですが、ツールチップが追加された要素をカーソルが通過するたびに、それに応じてカーソルが削除されるたびに、対応するツールチップがremove()されるようです

そこで、これを思いつきました。メソッド: 対応する要素をremove()した後、ページ上で$("div.tooltip.fade.in")を見つけて、理論的には他の要素に影響を与えません。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
テキストからウェブサイトへ:HTMLの力テキストからウェブサイトへ:HTMLの力Apr 13, 2025 am 12:07 AM

HTMLは、Webページを構築するために使用される言語であり、タグと属性を使用してWebページの構造とコンテンツを定義します。 1)htmlは、などのタグを介してドキュメント構造を整理します。 2)ブラウザはHTMLを分析してDOMを構築し、Webページをレンダリングします。 3)マルチメディア関数を強化するなど、HTML5の新機能。 4)一般的なエラーには、閉じられていないラベルと引用されていない属性値が含まれます。 5)最適化の提案には、セマンティックタグの使用とファイルサイズの削減が含まれます。

HTML、CSS、およびJavaScriptの理解:初心者向けガイドHTML、CSS、およびJavaScriptの理解:初心者向けガイドApr 12, 2025 am 12:02 AM

webdevelopmentReliesOnhtml、css、andjavascript:1)htmlStructuresContent、2)cssStylesit、および3)Javascriptaddsinteractivity、形成、

HTMLの役割:Webコンテンツの構造HTMLの役割:Webコンテンツの構造Apr 11, 2025 am 12:12 AM

HTMLの役割は、タグと属性を使用してWebページの構造とコンテンツを定義することです。 1。HTMLは、読みやすく理解しやすいようなタグを介してコンテンツを整理します。 2。アクセシビリティとSEOを強化するには、セマンティックタグなどを使用します。 3. HTMLコードの最適化により、Webページの読み込み速度とユーザーエクスペリエンスが向上する可能性があります。

HTMLとコード:用語を詳しく見るHTMLとコード:用語を詳しく見るApr 10, 2025 am 09:28 AM

htmlisaspecifictypeofcodefocuseduructuringwebcontent

HTML、CSS、およびJavaScript:Web開発者に不可欠なツールHTML、CSS、およびJavaScript:Web開発者に不可欠なツールApr 09, 2025 am 12:12 AM

HTML、CSS、およびJavaScriptは、Web開発の3つの柱です。 1。HTMLは、Webページ構造を定義し、などなどのタグを使用します。2。CSSは、色、フォントサイズなどのセレクターと属性を使用してWebページスタイルを制御します。

HTML、CSS、およびJavaScriptの役割:コアの責任HTML、CSS、およびJavaScriptの役割:コアの責任Apr 08, 2025 pm 07:05 PM

HTMLはWeb構造を定義し、CSSはスタイルとレイアウトを担当し、JavaScriptは動的な相互作用を提供します。 3人はWeb開発で職務を遂行し、共同でカラフルなWebサイトを構築します。

HTMLは初心者のために簡単に学ぶことができますか?HTMLは初心者のために簡単に学ぶことができますか?Apr 07, 2025 am 12:11 AM

HTMLは、簡単に学習しやすく、結果をすばやく見ることができるため、初心者に適しています。 1)HTMLの学習曲線はスムーズで簡単に開始できます。 2)基本タグをマスターして、Webページの作成を開始します。 3)柔軟性が高く、CSSおよびJavaScriptと組み合わせて使用​​できます。 4)豊富な学習リソースと最新のツールは、学習プロセスをサポートしています。

HTMLでの開始タグの例は何ですか?HTMLでの開始タグの例は何ですか?Apr 06, 2025 am 12:04 AM

Anexampleapalofastartingtaginhtmlis、それはaperginsaparagraph.startingtagsaresentionentientiontheyinitiateelements、definetheirtypes、およびarecrucialforurturingwebpagesandcontingthomedomを構築します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター