0

以下は期待どおりに機能していません。「。arrow-_down_img」をクリックしてもアラートメッセージが表示されません。

        function slideDown_Menu(){
                    $('.main_nav').slideDown('slow', function(){
                        $('.arrow_down_img').removeClass('arrow_down_img').addClass('arrow_up_img');
                    });
        }

        function slideUp_Menu(){
                    $('.main_nav').slideUp('slow', function(){
                        $('.arrow_up_img').removeClass('arrow_up_img').addClass('arrow_down_img');
                    });
        }

        $('.arrow_down_img').click(function(){
            // evt.preventDefault();
            // slideDown_Menu();
            alert('test');

        });

        $('.arrow_up_img').click(function(evt){
            evt.preventDefault();
            slideUp_Menu();
        });

HTML

        <div class="arrow_up">
            <div class="arrow_up_img"></div>
        </div>
4

1 に答える 1

1

.arrow_down_imgDOMReadyにクラスの要素がないため、要素またはドキュメントオブジェクトの静的な親の1つからイベントを委任する必要があります。

$(document).on('click', '.arrow_down_img', function(evt){
    // evt.preventDefault();
    // slideDown_Menu();
    alert('test');
});

evtまた、クリックハンドラーでは未定義であることに注意してください。

于 2012-12-14T15:41:50.920 に答える