モバイルのメニューを作成して、オーバーレイのクリック機能を追加したいと思います。Jqueryを使用して内部divへのクリックイベントを検出する方法
メニュー(紫色部分)をクリックすると閉じる必要はありませんが、青色の部分をクリックすると閉じる必要があります。
紫色の部分だけを取得するjQueryを作成しましたが、青色の部分をクリックするとalert
は表示されませんでした。 試験のために私のJSFiddleがあると思います。ここ
そして、私のコードは、あなたがouter content
にイベントを追加することによって、それを行うと、その後の要素をチェックするためにevent.target
プロパティを使用することができます
$('.outer-content .inner-content').on('click', function() {
$(".outer-content .inner-content").data('clicked', 'yes');
var isClicked = $('.outer-content').data('clicked');
if (isClicked == 'yes') {
alert("clicked the blue block");
} else {
alert("clicked the purple block");
}
});
.outer-content {
width: 100%;
height: 200px;
background: lightblue;
position: relative;
}
.inner-content {
width: 300px;
background: purple;
position: absolute;
margin: auto;
top: 0;
bottom: 0;
right: 0;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<div class="outer-content">
<div class="inner-content"></div>
</div>
https://jsfiddle.net/cj7z8pq9/ – Banzay
https://jsfiddle.net/ofu4mbtL/13/ –
私は両方のコードを処理するために、単一のクリックイベントを持たないことをお勧めしますイベントを分離した状態に保ちます。青は "閉じ"ますが、紫は将来他のことをするかもしれません。私は答えの例を加えました。 – Nope