1

私のメニューには、ログインフィールドを持つリスト項目があります:

                                 <li class='has-sub' onclick="LoginButtonClicked()" style="float: right">
                                     <a href='#' id="notificationList">
                                         <span>Log in2</span>

                                     </a>
                                     <ul class="loginBox" style="display: none; height: 300px; overflow-y: auto;">
                                         <li>
                                             <div id="Div1" style="background: #0fa1e0; padding: 4px;">

                                                 <input type="text" value="LoginName" />

                                                 <input type="text" value="Password" />
                                             </div>

                                         </li>
                                     </ul>
                                 </li>

liクラスをクリックすると、LoginButtonClicked関数が起動され、ulがスライドダウンします。

var loginUserMenuChoosen = false;

function LoginButtonClicked() {
    console.log(loginUserMenuChoosen);
    if (loginUserMenuChoosen == false) {
        loginUserMenuChoosen = true;


        $('.loginBox').slideDown(200);


        //$('.masterPageNotifier').val("0");
    }
    else if (loginUserMenuChoosen == true) {
        loginUserMenuChoosen = false;
        $('.loginBox').slideUp(200);
    }
}

ここでの問題は、リスト項目内のテキスト フィールドを選択すると、上にスライドし続けることです。どうすればこれを防ぐことができますか?

ここにフィドルがありますhttp://jsfiddle.net/fAKzw/

4

2 に答える 2

1

ID を指定liします。

<li id="liScrollDown" class='has-sub' style="float: right">

次に、次のようにします。

$("#liScrollDown").click(function() {
     LoginButtonClicked();
}); 
于 2013-04-28T11:07:24.367 に答える