多くのドロップダウンメニューがあるページがあります。これは、cssを使用してホバーイベントで表示されます。しかし、私はまた、タブを押して、jqueryを使ってフォーカスしているときにそれらを表示させたい。私はこの試みた:jqueryで要素が表示されたときにフォーカスの視認性が失われる
をし、次の処理が行われます。
$("body").keydown(function(e) {
var keyCode = e.keyCode || e.which;
if (keyCode === 9) {
$("*").bind("focus",function(){
var $self = $(this);
if($self.siblings("*:hidden").length > 0){
hidden_menu = $self.next("*:hidden");
if($(hidden_menu).is("ul")){
$(hidden_menu).show();
$(hidden_menu).children().addClass("shownhidden");
}
}
$("*").unbind("focus");
})
}
$("*").focusout(function(){
if(!$(this).next().is(".shownhidden") && $(this).is(".shownhidden")){
setTimeout(function(){
$(hidden_menu).hide();
},1000)
}
});
});
- I各ボタンの上にマウスダウンメニュー対応するドロップは、その後
- 表示されているとき、私はタブを押すと、各ボタンになったとき対応するメニューが表示されます。
- しかし、その後、ボタン上にマウスを置くと、対応するメニューが表示されません。
htmlコードは以下のように多くの要素で構成されています
<li id="navMenuButton" class="dropdown">
<button class="dropbtn">Menu</button>
<ul class="dropdown-content">
<li><a href="#">Menu 1</a></li>
<li><a href="#">Menu 2</a></li>
<li><a href="#">Menu 3</a></li>
</ul>
</li>
この部分のCSSコードは次のとおりです。
.dropbtn {
background-color: #9AEDF3;
padding: 14px;
border: none;
cursor: pointer;
}
/* The container <div> - needed to position the dropdown content */
.dropdown {
position: relative;
display: inline-block;
}
/* Dropdown Content (Hidden by Default) */
.dropdown-content {
display: none;
position: absolute;
background-color: #f9f9f9;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
}
/* Links inside the dropdown */
.dropdown-content a {
color: black;
padding: 12px 16px;
text-decoration: none;
display: block;
}
/* Change color of dropdown links on hover */
.dropdown-content a:hover {background-color: #f1f1f1}
/* Show the dropdown menu on hover */
.dropdown:hover .dropdown-content {
display: block;
}
/* Change the background color of the dropdown button when the dropdown content is shown */
.dropdown:hover .dropbtn {
background-color: #3e8e41;
}
問題は何ですか?
CSSと使用しているHTMLを投稿できますか? – DaFois
上記のCSSとhtmlコードが含まれています – themis93