簡體   English   中英

jQuery 3.1.1 slideToggle()/ toggle()出現故障

[英]jQuery 3.1.1 slideToggle()/toggle() malfunctioning

我閱讀了很多有關jQuery toggle / slideToggle的文章,但似乎都沒有回答我的問題,所以這是我的問題:

我使用的是jQuery 3.1.1。版,並且我的slideToggle()(包括所有其他與切換相關的事件)似乎不起作用(請參見下面的代碼)。 當我單擊“ .register-parent”時,“。sign-up-parent-form”(也是“ sign-up-form”類的一部分)滑出,然后立即滑回到“隱藏”模式。
是否因為我需要在括號中包括速度,回調等而發生這種情況? 我使用代碼編輯器,它說我的代碼沒有錯。

/*global $ */
$(document).ready(function () {
  "use strict";
  $(".sign-up-form").hide();

  $(".register-parent").click(function () {
    $(".sign-up-parent-form").slideToggle();
  });
});

我的HTML和CSS在這里 非常感謝!

您的DOM中有2 .register-parent'元素,因此該事件兩次附加到該特定類。 這就是為什么當您單擊一次時,兩個事件都被觸發。

更特別地,附加事件,或使用stopPropagation如提到的@Super User。

您可以為此使用stopPropagation ,可以使用以下代碼更新JS代碼:

/*global $ */
$(document).ready(function () {
    "use strict";
    $(".sign-up-form").hide();

    $(".register-parent").click(function (e) {
        e.stopPropagation();
        $(".sign-up-parent-form").slideToggle();
    });
});

有關更新的小提琴演示, 請單擊此處

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM