JS select text in textarea en show div script werkt niet goed
Christian Snijders
17/07/2020 16:40:43Onderstaand script vond ik op internet:
http://jsfiddle.net/YstZn/500/
Nu heb ik het aangepast omdat ik wil dat hij de div niet toont als je een andere tekst buiten het textarea element toont.
Heb nu:
http://jsfiddle.net/hsnrmz4a/
Nu toont hij wel alleen de div als ik in de textarea geselecteerd heb, maar zodra ik net als script 1 deselecteer verdwijnt de selectie niet, heb ik iets over het hoofd gezien?
http://jsfiddle.net/YstZn/500/
Nu heb ik het aangepast omdat ik wil dat hij de div niet toont als je een andere tekst buiten het textarea element toont.
Heb nu:
http://jsfiddle.net/hsnrmz4a/
Nu toont hij wel alleen de div als ik in de textarea geselecteerd heb, maar zodra ik net als script 1 deselecteer verdwijnt de selectie niet, heb ik iets over het hoofd gezien?
PHP hulp
26/11/2024 22:43:20Thomas van den Heuvel
18/07/2020 14:58:41Ja :).
De listeners hangen in het tweede fragment uitsluitend aan de textarea.
Als je dus vervolgens op een div gaat klikken dan wordt er niet meer gereageerd op de mousedown/up-events omdat deze geen onderdeel uitmaken van deze textarea. En dan "vuurt" je fadeOut() dus ook niet.
Selecteer je een tekst in je textarea, dan verschijnt je toolbox.
Klik je vervolgens op je textarea, dan verdwijnt je toolbox weer, want op dat moment is je selectie leeg (en heb je muis-interactie met de textarea zelf).
Alles werkt dus precies zoals je hebt gespecificeerd.
Wat je waarschijnlijk moet doen is onderscheid maken tussen de (klik)events van specifieke elementen die de toolbox activeren, en dit zou je bij kunnen houden in een soort van activator-referentie, en de (klik)events op de toolbox zelf, en eventuele callback-acties terug naar de activator.
NB het moet waarschijnlijk ook niet $('#foo').ready() zijn, maar gewoon $(document).ready(), zoals voorheen.
De listeners hangen in het tweede fragment uitsluitend aan de textarea.
Als je dus vervolgens op een div gaat klikken dan wordt er niet meer gereageerd op de mousedown/up-events omdat deze geen onderdeel uitmaken van deze textarea. En dan "vuurt" je fadeOut() dus ook niet.
Selecteer je een tekst in je textarea, dan verschijnt je toolbox.
Klik je vervolgens op je textarea, dan verdwijnt je toolbox weer, want op dat moment is je selectie leeg (en heb je muis-interactie met de textarea zelf).
Alles werkt dus precies zoals je hebt gespecificeerd.
Wat je waarschijnlijk moet doen is onderscheid maken tussen de (klik)events van specifieke elementen die de toolbox activeren, en dit zou je bij kunnen houden in een soort van activator-referentie, en de (klik)events op de toolbox zelf, en eventuele callback-acties terug naar de activator.
NB het moet waarschijnlijk ook niet $('#foo').ready() zijn, maar gewoon $(document).ready(), zoals voorheen.