Event binding of body.ready on mobile devices causes abnormal switching of the sidebar
Maintainer antworten meist innerhalb von 2 Tagen
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 45/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- javascript
- Bereich
- frontend
Rechercherichtung
Beginne mit der reproduzierbaren CodeSandbox und der btn-Funktion um die Zeilen 1932–1938. Reproduziere das Verhalten auf einem Mobilgerät, indem du button.sidebar-toggle verwendest, untersuche dann das body-Click-Binding und stelle sicher, dass Klicks auf die Sidebar kein unbeabsichtigtes Umschalten mehr auslösen, während der Button weiterhin funktioniert.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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:

When I removed the event, everything returned to normal:

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
Mention the docsify version in which this bug was not present (if any)
- Vorherrschende Sprache
- JavaScript
- Sterne
- 31.5k
- Forks
- 5.8k
- Ø Merge
- 2 T. 14 Std.
- Gemergte PRs (30 T.)
- 5
Entwicklungsumgebung
- Enthält ein Dockerfile oder eine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus docsifyjs/docsify
-
Query parameter values are truncated at a second equals signEvtl. vergeben @xu91102 hat das vor 22 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
Maintainer antworten meist innerhalb von 2 Tagen
-
bug Triage
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 66/100
Maintainer antworten meist innerhalb von 2 Tagen
-
Cached AJAX responses lose status metadata exposed through vm.route.responseEvtl. vergeben @xu91102 hat das vor 22 Tagen übernommen. Offen
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 68/100
Maintainer antworten meist innerhalb von 2 Tagen
-
In the Edge browser, the character `{docsify-updated}` is not replacedEvtl. wieder frei @AmanUllah687 hat das vor 75 Tagen übernommen, und es ist kein Pull Request offen. Offenwait for information
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
docsifyjs/docsify#2681 · 11 Kommentare ·
Maintainer antworten meist innerhalb von 2 Tagen
-
feature request Triage
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 38/100
docsifyjs/docsify#2643 · 5 Kommentare ·
Maintainer antworten meist innerhalb von 2 Tagen
Alle Issues in docsifyjs/docsify
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
HarperFast/harper#3275 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug release:v5.34
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Jason-Vaughan/TangleClaw#2504 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug status: needs triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
mastra-ai/mastra#27538 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 73/100
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 94/100
Foundryborne/daggerheart#2497 ·
Maintainer antworten meist innerhalb von 1 Tag