Jquery手风琴和内部动画e.stopPropagation();问题

Jquery手风琴和内部动画e.stopPropagation();问题,jquery,css,javascript-events,jquery-ui-accordion,Jquery,Css,Javascript Events,Jquery Ui Accordion,我有一个简单的手风琴,由jquery制作动画,在其中一个选项中,我正在制作一个CSS动画iphone按钮(开/关)。问题是每次我点击accordion jquery按钮时(我很确定e.stopPropagation();或e.preventDefault();)都会出现一些问题)避免使用按钮来制作动画,我确信这一点,因为我已经去掉了accordion脚本,按钮工作正常,我对jquery非常陌生,所以我真的不知道如何解决这个问题 当我取下e.preventDefault()时,只需一个便条;手风琴

我有一个简单的手风琴,由jquery制作动画,在其中一个选项中,我正在制作一个CSS动画iphone按钮(开/关)。问题是每次我点击accordion jquery按钮时(我很确定e.stopPropagation();或e.preventDefault();)都会出现一些问题)避免使用按钮来制作动画,我确信这一点,因为我已经去掉了accordion脚本,按钮工作正常,我对jquery非常陌生,所以我真的不知道如何解决这个问题

当我取下e.preventDefault()时,只需一个便条;手风琴脚本中的线条只是第一个按钮的动画,每次我点击另一个按钮,它就会为第一个按钮设置动画,这有点疯狂

以下是在线示例

这是手风琴的剧本:

$(document).ready (function(){
    $(".acordeon ul li:has(ul)").addClass("has-sub");

    $('.acordeon').on("click", "li", function (e) {
        e.preventDefault();
        e.stopPropagation();
    });

    $('.acordeon').on("click", ".has-sub", function (e) {
        e.preventDefault();
        e.stopPropagation();

        if (!$(this).hasClass("active")) {
        $(this).addClass("active");
        $(this).children("ul").slideDown('normal');
        } else {
            $(this).removeClass("active");
            $(this).children("ul").slideUp('normal');
        }
    });
手风琴中iphone按钮的html

<div class="onoffswitch">
    <input type="checkbox" name="onoffswitch" class="onoffswitch-checkbox" id="myonoffswitch" checked>
<label class="onoffswitch-label" for="myonoffswitch">
<div class="onoffswitch-inner"></div>
<div class="onoffswitch-switch"></div>
</div>


删除stopPropagation命令如何?如果我在手风琴内单击按钮时执行此操作,手风琴将关闭,因此无法为开关的事件功能设置stopPropagation?如果我执行此操作,则仅第一个按钮会动画显示,而当我单击另一个按钮时,它始终会动画显示第一个按钮$('.boton revista')。on(单击“,.onoffswitch”,函数(e){e.stopPropagation();});请创建一个JSFIDLE。