Javascript 如何在没有回发的情况下运行Jscript

Javascript 如何在没有回发的情况下运行Jscript,javascript,c#,asp.net,Javascript,C#,Asp.net,我正在尝试在我的网页中构建一个“手风琴”风格的可折叠div,如w3c学校所述。。。 我的代码是: ASP: 我添加了以下Jscript: $(document).ready(function () { var acc = document.getElementsByClassName("accordion"); var i; for (i = 0; i < acc.length; i++) { acc[i].add

我正在尝试在我的网页中构建一个“手风琴”风格的可折叠div,如w3c学校所述。。。

我的代码是:

ASP:

我添加了以下Jscript:

$(document).ready(function () {
        var acc = document.getElementsByClassName("accordion");
        var i;

        for (i = 0; i < acc.length; i++) {
            acc[i].addEventListener("click", function () {
                this.classList.toggle("active");
                var panel = this.nextElementSibling;
                if (panel.style.maxHeight) {
                    panel.style.maxHeight = null;
                } else {
                    panel.style.maxHeight = panel.scrollHeight + "px";
                }

                return false;
            });
        }
    });
$(文档).ready(函数(){
var acc=document.getElementsByClassName(“accordion”);
var i;
对于(i=0;i
代码似乎工作得很好,当我单击Accordion元素时,它会展开,但它似乎会发回,Accordion会再次折叠,不会显示

我的问题是如何让它像教程中描述的那样展开并保持展开状态。我在这里和各种网站上看到了许多答案,这些答案表明“returnfalse”可能就足够了


这与div中的ASP表有关吗?

HTML
按钮的dafault行为是在单击时提交表单(默认情况下,其类型为
submit
)。您只需向元素添加
type=“button”
属性,如下所示:

<button class="accordion" type="button">Section 1</button>
第1节
这应该可以解决问题——它表明按钮只是一个简单的可点击按钮,没有任何特殊操作


这个答案还包括:

HTML
按钮的错误行为是单击时提交表单(默认情况下,其类型为
submit
)。您只需向元素添加
type=“button”
属性,如下所示:

<button class="accordion" type="button">Section 1</button>
第1节
这应该可以解决问题——它表明按钮只是一个简单的可点击按钮,没有任何特殊操作

这个答案也涵盖了它:

有两种方法

  • 默认情况下,按钮行为类似于submit按钮,因此将发生回发。如果你想阻止回发,你可以使用下面的代码

    第1节

  • 您可以使用类型属性来防止提交行为

    第1节

  • 有两种方式,

  • 默认情况下,按钮行为类似于submit按钮,因此将发生回发。如果你想阻止回发,你可以使用下面的代码

    第1节

  • 您可以使用类型属性来防止提交行为

    第1节


  • 正是需要的完美正是需要的完美
    <button class="accordion" type="button">Section 1</button>