5

フォーカスを失ったときにサブメニュー項目(ul)を非表示にしようとしています..私の構造は次のようになります

            <div id="ActionDiv" style="border-color: #0099d4; width: 120px; height: 100%">
                <ul>
                    <li><a href="#"><span id="ActionHeader">Action &nbsp; <em>
                        <img src="images/zonebar-downarrow.png" alt="dropdown" />
                    </em></span></a>
                        <ul>
                            <li><a href="javascript:TriggerAction(1)">Send Email</a></li>
                            <li><a href="javascript:TriggerAction(1)">Invite to chat</a></li>
                            <li><a href="javascript:TriggerAction(1)">Consider For Opp</a></li>
                        </ul>
                    </li>
                </ul>
            </div>

JQuery では、 focusoutイベントを使用して失われたフォーカスを処理しました。

$("#ActionDiv>ul>li>ul").focusout(function() {
            $("#ActionDiv>ul>li>ul").hide();
});

しかし、上記のコードは機能しません。ul で失われたフォーカス イベントを処理する方法を推奨できる人はいますか。

4

3 に答える 3

5

.hover()jQueryでイベントを試す

$("#ActionDiv>ul>li>ul").hover(function() {
       $("#ActionDiv>ul>li>ul").show();
   },
   function(){
       $("#ActionDiv>ul>li>ul").hide();
});
于 2011-01-10T09:56:37.040 に答える
4

input(およびtextarea)以外の要素には、ネイティブ (私の知る限り、間違っている場合はコメントを残してください!)focusまたはblurイベント (マウス位置イベントではなく、ユーザー入力に応答するように設計されています) はありません。さまざまなanda要素の要素に焦点を当てることができますが、そのイベントは伝播する可能性がありますが、イベントは伝播しないと思われます)。ullifocusout

ただし、使用できhover()ます:

$('#elementID').hover(
function(){
   // mouse-over
},
function(){
  // mouse-out
});
于 2011-01-10T09:58:27.017 に答える
3

focusout イベントではなく、 mouseoutおよびmouseoverイベントを探しているようです。

于 2011-01-10T09:48:26.227 に答える