Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Event binding of body.ready on mobile devices causes abnormal switching of the sidebar

Ouverte
#1,697 0 commentaires 1 réaction 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 2 jours

Personne n'a encore pris cette issue.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
45/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
javascript
Domaine
frontend

Piste de recherche

Commencez par le CodeSandbox reproductible et la fonction btn autour des lignes 1932–1938. Reproduisez le comportement sur un appareil mobile en utilisant button.sidebar-toggle, puis inspectez la liaison des clics sur body et vérifiez que les clics sur la barre latérale ne déclenchent plus de basculement involontaire, tandis que le bouton continue de fonctionner.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

needs investigation

Bug Report

On mobile devices, docsify will add a click event to the body element.
When the event is not removed, clicking any area in the left sidebar will trigger its switching function.
After removing the event, the function is normal.

Its position is between 1932 -> 1938:

   function btn(el) {
     var toggle = function (_) {return body.classList.toggle('close'); };

     el = getNode(el);
     if (el === null || el === undefined) {
       return;
     }

     on(el,'click', function (e) {
       e.stopPropagation();
       toggle();
     });
     // this position
     isMobile &&
       on(
         body,
         'click',
         function (_) {return body.classList.contains('close') && toggle();}
       );
   }

Just like in the picture, this is when I did not remove the event:

bug1

When I removed the event, everything returned to normal:

bug2

I don't understand the meaning of this event, because after I disable it, I feel that everything is normal.

Steps to reproduce

On mobile devices, click button.sidebar-toggle. Click again on any area in the sidebar.

What is current behaviour

It will automatically close the sidebar.

What is the expected behaviour

Only when the button.sidebar-toggle button is clicked, can the sidebar toggle function be triggered.

Other relevant information
  • Bug does still occur when all/other plugins are disabled?

  • Your OS: ubuntu 20.04.3 LTS

  • Node.js version: 10.24.1

  • npm/yarn version: 6.4.12

  • Browser version: any browser

  • Docsify version: 4.4.3

  • Docsify plugins:

gitalk
search
emoji
docsify-copy-code
countable
pangu
sidebar
progress
gifcontrol
pagination
Please create a reproducible sandbox

Edit 307qqv236

Mention the docsify version in which this bug was not present (if any)
Langage dominant
JavaScript
Étoiles
31.5k
Forks
5.8k
Merge moyen
2 j 14 h
PR mergées (30 j)
5

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de docsifyjs/docsify

Toutes les issues de docsifyjs/docsify

Issues similaires

Plus d'issues JavaScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.