1 回答

TA貢獻(xiàn)2016條經(jīng)驗(yàn) 獲得超9個(gè)贊
您需要使用focusout 事件更改模糊事件:
focusout 事件在元素即將失去焦點(diǎn)時(shí)觸發(fā)。此事件與模糊之間的主要區(qū)別在于 focusout 會(huì)出現(xiàn)氣泡,而模糊不會(huì)。
工作片段:
$("#buttonNewIssue").on("click", function(e) {
console.log("button new issue click");
if ($("#newIssueMenu").hasClass("newIssueMenuHidden")) {
$("#newIssueMenu").removeClass("newIssueMenuHidden");
$("#newIssueMenu").addClass("newIssueMenuShown");
$("#newIssueMenu").css("left", $(this).position().left);
$("#newIssueMenu").css("top", $(this).outerHeight() + $(this).position().top);
$("#newIssue").focus();
} else {
$("#newIssueMenu").removeClass("newIssueMenuShown");
$("#newIssueMenu").addClass("newIssueMenuHidden");
}
});
$("#newIssueMenu").on("focusout", function(e) {
console.log("newIssueMenu blur");
$(this).removeClass("newIssueMenuShown");
$(this).addClass("newIssueMenuHidden");
});
.newIssueMenuShown {
z-index: 1;
position: absolute;
left: 0;
top: 0;
display: block;
visibility: visible;
transition-property: display, visibility;
transition-duration: 0.4s;
}
.newIssueMenuHidden {
display: none;
visibility: hidden;
transition: all 0.4s;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button id="buttonNewIssue" type='button' data-toggle='popover' data-content='Create New Issue'>New Issue</button>
<div id="newIssueMenu" class="newIssueMenuHidden">
<form><input id="newIssue" type="text" placeholder="Issue Name"></form>
</div>
添加回答
舉報(bào)