DropDown Menu Использование Jquery - PullRequest
0 голосов
/ 02 апреля 2012

Я получил эту проблему, в приведенном выше html я не могу нажать на выпадающее меню, я где-то ошибся, мое выпадающее меню в этом коде не работает, может кто-нибудь, пожалуйста, дайте мне знать, где я ошибся?CSS:

Javascript:

     <script type="text/javascript">
$(function() {
    $('.menucontainer').hide();
    $('#container').sortable({
        handle:'h1',
        scroll: false,
        revert: true,
        tolerance: 'pointer'
    });


    $('.dropmenu').on('click', function(){
        var $ul = $('.menucontainer', this);            
        $ul.show(500);
        console.log( $ul );
        return false;
    });

    $('html').on('click', function() {
        $('.menucontainer').hide(500);
    });

});
</script>

1 Ответ

1 голос
/ 02 апреля 2012

У вас был ряд проблем в вашем коде. Я думаю, что я исправил их все здесь: http://jsfiddle.net/exuY9/

Пара вещей:

  1. В вашем последнем бите JS у вас есть обработчик событий внутри другого обработчика событий. Хотя это законно, я сомневаюсь, что вы намеревались;
  2. Возможно, ваш код действительно работал, я думаю, он отображал меню так, как вы хотели, но он также сразу же скрывал их. Зачем? Поскольку ваш обработчик onclick для # dr1, # dr2 позволял переходу клика продолжаться по всей странице на обработчик onclick в HTML, который сразу же так быстро отменял show (), вы подумали, что вообще ничего не происходит;
  3. Я также переместил весь ваш код внутрь $ (function () {...}); блок, только потому, что я не был уверен, что вы вставляете этот код в head, и в этом случае элементы не будут присутствовать для присоединения обработчиков. Если ваш сценарий был прикреплен в конце body, тогда это не будет проблемой;
  4. Вместо создания нового обработчика для каждого идентификатора одного и того же класса, вы можете просто создать его для класса. Вы можете увидеть, как я сделал это пару раз в исправленном коде;
  5. И, что касается стиля, среди интерфейсных разработчиков стало привычным использовать одинарные кавычки в Javascript и двойные кавычки в HTML. Это избавит вас от многих головных болей, так как если вы используете двойные кавычки в обоих, вам придется все время избегать всяких вещей.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...