fix(client): モバイルでタップしたときにツールチップが表示される問題を修正
This commit is contained in:
		
							parent
							
								
									8e0108a0b8
								
							
						
					
					
						commit
						698e0d08a1
					
				
					 2 changed files with 15 additions and 0 deletions
				
			
		|  | @ -12,6 +12,16 @@ import { resolve } from '@/router'; | |||
| import { $i } from '@/account'; | ||||
| import { defaultStore } from '@/store'; | ||||
| 
 | ||||
| export let isScreenTouching = false; | ||||
| 
 | ||||
| window.addEventListener('touchstart', () => { | ||||
| 	isScreenTouching = true; | ||||
| }, { passive: true }); | ||||
| 
 | ||||
| window.addEventListener('touchend', () => { | ||||
| 	isScreenTouching = false; | ||||
| }, { passive: true }); | ||||
| 
 | ||||
| export const stream = markRaw(new Misskey.Stream(url, $i)); | ||||
| 
 | ||||
| export const pendingApiRequestsCount = ref(0); | ||||
|  |  | |||
|  | @ -1,3 +1,4 @@ | |||
| import { isScreenTouching } from '@/os'; | ||||
| import { Ref, ref } from 'vue'; | ||||
| 
 | ||||
| export function useTooltip(onShow: (showing: Ref<boolean>) => void) { | ||||
|  | @ -10,6 +11,10 @@ export function useTooltip(onShow: (showing: Ref<boolean>) => void) { | |||
| 		close(); | ||||
| 		if (!isHovering) return; | ||||
| 
 | ||||
| 		// iOS(Androidも?)では、要素をタップした直後に(おせっかいで)mouseoverイベントを発火させたりするため、その対策
 | ||||
| 		// これが無いと、画面に触れてないのにツールチップが出たりしてしまう
 | ||||
| 		if (!isScreenTouching) return; | ||||
| 
 | ||||
| 		const showing = ref(true); | ||||
| 		onShow(showing); | ||||
| 		changeShowingState = () => { | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue