0

在下面的这段代码中,我只希望当我点击面板内的任何内容(面板内的 p 标签中包含的内容)时,不应该滑动面板,直到使用面板或其他地方的点击而不是面板内的子元素 p,请参阅 html如果使用了其他点击事件,则在小提琴中寻求帮助并单击尝试不应关闭面板。这个脚本是早先 praveen 先生帮助我的。

代码是

$(document).ready(function () {
    $("#toggle li > .panel").hide();
    $('.plusminus').html('+');

    $('#toggle li').click(function () {
        if( !$(this).children('.panel').is(":visible") ) {
            $("#toggle li > .panel").slideUp();
            $('.plusminus').html('+');
        }
        a = $(this).children(".plusminus");
        $(this).children(".panel").slideToggle('fast', function(){
            a.html($(this).is(":visible") ? '--' : '+');
        });
    });

    $("body").click(function(event){
        if ($(event.target).closest("ul").attr('id') != "toggle") {
            $("#toggle li > .panel").slideUp();
            $('.plusminus').html('+');
        }
    });
});

玩的小提琴是

http://jsfiddle.net/praveenscience/Ss3xU/26/

4

1 回答 1

1

移除$("#toggle li > .panel").hide();document load使面板打开load

当您在面板内单击时,添加$("#toggle li > .panel").click(function(event){ event.stopPropagation(); }); 将使下拉菜单不关闭

于 2013-04-05T08:39:54.033 回答