當我專注于 asmenu 課程時,我會嘗試“向上??滑動”。但是,如果您在 asmenu 類中選擇了兩 (2) 個子元素的復選框,則會執行 focusout。
基本上,一旦您在 asmenu 類中選擇一 (1) 個子元素復選框,“向上滑動”功能就已經準備好執行。因此,當我在選擇第一個后嘗試選擇第二個時,它會自動聚焦。我想選擇多個復選框,并且只有在我離開 asmenu 類時才“向上滑動”。
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="create_category">
<div class="abmenu">
<em>category</em>
<div class="arrowbox">
<span class="arrow_open"><i class="f0">open</i></span>
<span class="arrow_close"><i class="f0">close</i></span>
</div>
</div>
<div class="asmenu">
<ul>
<li>
<a class="checkaside">
<input type="checkbox" id="asidecate1" name="chk" value="POP">
<label for="asidecate1">POP</label>
</a>
</li>
<li>
<a class="checkaside">
<input type="checkbox" id="asidecate2" name="chk" value="ROCK">
<label for="asidecate2">ROCK</label>
</a>
</li>
<li>
<a class="checkaside">
<input type="checkbox" id="asidecate2" name="chk" value="R&B">
<label for="asidecate2">R&B</label>
</a>
</li>
</ul>
</div>
</div>
$(".create_category .abmenu").on('click', function () {
$(this).next(".asmenu").stop().slideToggle(300);
$(this).toggleClass('on');
});
$(".create_category .asmenu").on('focusout', function (e) {
$(".create_category .asmenu").slideUp(300);
$(".create_category .abmenu").removeClass('on');
});
uj5u.com熱心網友回復:
只需使用以下代碼并洗掉您的代碼即可完美運行。我使用了 stopPropagation 這個方法可以防止呼叫同一事件的傳播
此外,當您單擊檔案“.asmenu”時,將焦點移出。
$(".create_category .abmenu").on('click', function () {
$(this).next(".asmenu").stop().slideToggle(300);
$(this).toggleClass('on');
});
/* $(".create_category .asmenu").on('focusout', function (e) {
$(".create_category .asmenu").slideUp(300);
$(".create_category .abmenu").removeClass('on');
}); */
$(document).on("click", function () {
$(".create_category .asmenu").slideUp(300);
$(".create_category .abmenu").removeClass('on');
});
$('.create_category').on('click', function (e) {
e.stopPropagation();
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/518084.html
