ホームページ  >  記事  >  ウェブフロントエンド  >  jQuery は、ポップアップ レイヤーの外側の任意の場所をクリックすることで、ポップアップ レイヤーを閉じる効果を実現します。

jQuery は、ポップアップ レイヤーの外側の任意の場所をクリックすることで、ポップアップ レイヤーを閉じる効果を実現します。

高洛峰
高洛峰オリジナル
2016-12-09 16:12:291773ブラウズ

以前プロジェクトに取り組んでいたとき、メイン ページのボタンをクリックすると、右側に div がポップアップして、対応するコンテンツに関する詳細情報が出力されることがよくありました。現時点では、マウスがポップアップ レイヤーの外側をクリックしたときにポップアップ レイヤーを閉じることができればと考えています。主なアイデアは次のとおりです。

マウスによってクリックされた要素を検索する

この要素が指定された範囲内にあるかどうかを判断する。実際には、それは親要素を決定するためのものです

そうでない場合、ポップアップ レイヤーを非表示にします

特定の実装は実行されません

このコードは jQuery を使用する必要があります。 コードは次のとおりです。

$(document).mousedown(function(e){
if($(e.target).parent("#info").length==0){
$("#info").hide();
}
})
$(document).mousedown(function(e){})

$(document) これは、ネイティブの window.ducment と同様に、Web ページのドキュメント オブジェクト全体を取得するためのものです。

mousedown はマウス イベントです。これは、マウス ポインターが要素上に移動し、マウス ボタンが押されたときを指します。 同様のイベントには次のものが含まれます:

mouseup: 要素上にあるとき マウス ボタンが放されたとき

mouseover: マウス ポインターが要素上にあるとき

$(e.target)

$(e.target) は、クリック イベントを取得する要素を表します。

parent()

$(e.target).parent("#info").length は、info の ID を持つ現在のクリックイベント要素の親要素を取得します。


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