主流の 検索 エンジンで検索する場合、コンテンツを入力すると、スマート プロンプトが頻繁にポップアップされます。入力ボックスは入力であり、スマート プロンプト領域は提案です。通常、次に 2 つの操作があります:
1. プロンプトを選択し、内容を入力にコピーし、提案を自動的に閉じます。
2. Web ページ上の他の場所をクリックして、提案を自動的に閉じます。 C 1 つ目は、click
イベントを使用し、Suggest にマウスクリックイベントを追加し、処理の入力にクリックの内容を書き込んで、Suggest を閉じるために使用できます。単独でテストする場合は問題ありません。 2 番目の実装では、入力要素に focusout イベントまたは Blur イベントを追加し、入力がフォーカスを失ったときに提案を閉じることができます。単独でテストする場合は問題ありません。
しかし、まとめると問題が発生します。フォーカス喪失イベント(サジェストが閉じられる)にのみ応答し、コンテンツクリックイベントには応答しません(クリックされたサジェストコンテンツが取得されません)。
オンラインで検索すると、同様の問題がいくつか見つかりましたが、blur は focusout と同じであり、どちらも機能しません。
考えた後、クリックイベントのトリガー条件を突然思いつきました。ボタンをクリックすると、クリックイベントがトリガーされます。クリックには、マウスをクリックすることとマウスを放すことが含まれます。
jqueryのclickイベントはマウスを放した後にトリガーされます(実際、button要素とhref要素のclickイベントはこんな感じです) 考えてみると、先ほど発生した競合問題が分かります。このとき、入力がフォーカスを失うイベントがトリガーされ、マウスが放されます (コンピューターの応答速度はマウスのクリックとリリースの速度よりも速いです)。クリックは完了しますが、この時点ではマウスは選択プロンプトの上にあるため、候補内のクリック イベントをトリガーできません。
これを考えた後、マウスがクリックされたときにトリガーされるように、提案内の応答を変更して、mousedown イベントと focusout の両方が成功しました。イベントは正しく処理されました。
//input的丢失焦点事件 $("#input_area").focusout(function(){ $("#suggest_div").hide(); }); //suggest区域的点击事件 $("#suggest_div li").mousedown(function(){ $("#input_area").val($(this).text()); $("#suggest_div").hide(); });
クリックをマウスダウンに置き換えれば全く問題ありません。言うのが恥ずかしいくらい簡単ですが、なかなか思いつかないこともあります。
さらに、インターネット上で他の方法も見つけました。その 1 つは、
$("#input_area").keypress(function() { $("#suggest_div").slideDown(); }).blur(function() { $("#suggest_div").slideUp(); });
です。この方法は、非表示の
animationを使用して、サジェスト領域のクリック イベントをトリガーできるようにします。ただし、スライドはすべての状況に適しているわけではなく、関数の成功をアニメーションの非表示速度に基づいて判断することは適切ではありません。
別の方法は、入力と提案を div でラップし、イベントを div に直接追加することです。これはテストされていませんが、理論的には可能なはずです。
以上がjquery focusout と click イベントの間の競合に対する解決策を共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

私はあなたの日常的な技術ツールを使用して機能的なマルチテナントSaaSアプリケーション(EDTECHアプリ)を作成しましたが、あなたは同じことをすることができます。 まず、マルチテナントSaaSアプリケーションとは何ですか? マルチテナントSaaSアプリケーションを使用すると、Singの複数の顧客にサービスを提供できます

この記事では、許可によって保護されたバックエンドとのフロントエンド統合を示し、next.jsを使用して機能的なedtech SaaSアプリケーションを構築します。 FrontEndはユーザーのアクセス許可を取得してUIの可視性を制御し、APIリクエストがロールベースに付着することを保証します

JavaScriptは、現代のWeb開発のコア言語であり、その多様性と柔軟性に広く使用されています。 1)フロントエンド開発:DOM操作と最新のフレームワーク(React、Vue.JS、Angularなど)を通じて、動的なWebページとシングルページアプリケーションを構築します。 2)サーバー側の開発:node.jsは、非ブロッキングI/Oモデルを使用して、高い並行性とリアルタイムアプリケーションを処理します。 3)モバイルおよびデスクトップアプリケーション開発:クロスプラットフォーム開発は、反応および電子を通じて実現され、開発効率を向上させます。

JavaScriptの最新トレンドには、TypeScriptの台頭、最新のフレームワークとライブラリの人気、WebAssemblyの適用が含まれます。将来の見通しは、より強力なタイプシステム、サーバー側のJavaScriptの開発、人工知能と機械学習の拡大、およびIoTおよびEDGEコンピューティングの可能性をカバーしています。

JavaScriptは現代のWeb開発の基礎であり、その主な機能には、イベント駆動型のプログラミング、動的コンテンツ生成、非同期プログラミングが含まれます。 1)イベント駆動型プログラミングにより、Webページはユーザー操作に応じて動的に変更できます。 2)動的コンテンツ生成により、条件に応じてページコンテンツを調整できます。 3)非同期プログラミングにより、ユーザーインターフェイスがブロックされないようにします。 JavaScriptは、Webインタラクション、シングルページアプリケーション、サーバー側の開発で広く使用されており、ユーザーエクスペリエンスとクロスプラットフォーム開発の柔軟性を大幅に改善しています。

Pythonはデータサイエンスや機械学習により適していますが、JavaScriptはフロントエンドとフルスタックの開発により適しています。 1. Pythonは、簡潔な構文とリッチライブラリエコシステムで知られており、データ分析とWeb開発に適しています。 2。JavaScriptは、フロントエンド開発の中核です。 node.jsはサーバー側のプログラミングをサポートしており、フルスタック開発に適しています。

JavaScriptは、最新のブラウザにすでに組み込まれているため、インストールを必要としません。開始するには、テキストエディターとブラウザのみが必要です。 1)ブラウザ環境では、タグを介してHTMLファイルを埋め込んで実行します。 2)node.js環境では、node.jsをダウンロードしてインストールした後、コマンドラインを介してJavaScriptファイルを実行します。

Quartzタイマーを使用してタスクをスケジュールする場合、Quartzでタスク通知を事前に送信する方法、タスクの実行時間はCron式によって設定されます。今...


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

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

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境
