Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

모바일에서 @click 이벤트 발생안함 #126

Open
Chloe-Bang opened this issue Apr 19, 2023 · 7 comments
Open

모바일에서 @click 이벤트 발생안함 #126

Chloe-Bang opened this issue Apr 19, 2023 · 7 comments
Labels
bug Something isn't working complete

Comments

@Chloe-Bang
Copy link

Chloe-Bang commented Apr 19, 2023

Environments

  • Framework name: vue3
  • Framework version: ^3.2.38
  • Component name: vue3-selecto
  • Component version: ^1.8.2

Description

리스트 페이지에 체크 선택 버튼 대신 vue3-selecto로 선택 기능을 대신하고 리스트 아이템 하나를 클릭하면 라우터 이동을 하는 코드 작성 중, userAgent가 모바일 디바이스면 드래그 지정 영역 하위의 이벤트가 모두 동작하지 않는 걸 확인했습니다.

PC에서 동작하는 것과 동일하게 모바일에서도 동작되도록 수정 부탁드립니다.
동일한 코드는 아니지만 이해를 위해 같은 계층으로 만든 샘플 코드 첨부합니다.

PC:

  • dragContainer로 지정한 태그 안에 있는 @click="testClick" 이벤트 발생 > 정상 동작

PC 개발자 콘솔(모바일 디바이스 iPhoneX, iPad Mini..) :

  • @click="testClick" 이벤트 발생 안함 > 오동작

모바일(아이폰) :

  • @click="testClick" 이벤트 발생 안함 > 오동작 (개발자 콘솔과 같음)
  • body의 스크롤도 selecto로 지정한 영역 안에서는 동작안함
  • table의 좌우 스크롤 동작 안함

Sample Source

<vue-selecto 
  dragContainer='.drag-container'
  :selectableTargets='[".draggable-area .test-td"]'
/>
<table class='drag-container draggable-area'>
...//
  <tbody>
     <tr @click="testClick">
         <td class='test-id'></td>
      </tr>
   </tbody>
</table>
@daybrush daybrush added the bug Something isn't working label Apr 19, 2023
daybrush added a commit that referenced this issue Apr 19, 2023
@daybrush
Copy link
Owner

@Chloe-Bang

vue3-selecto 1.8.3 버전으로 업데이트 했습니다.
touchstart 때 preventDefault를 발생시키지 않는 방향으로 수정했습니다.
확인해보시길 바랍니다.

@Chloe-Bang
Copy link
Author

감사합니다 :)

@ehd1120gus
Copy link

ehd1120gus commented Nov 27, 2023

안녕하세요. 우선 좋은 라이브러리 만들어주셔서 감사합니다.

Framework name: react
Framework version: ^18
Component name: react-selecto
Component version: ^1.26.1

이 이슈와 마찬가지로, react에서도 ios에서 drag는 정상적으로 작동하지만 touch (click) 이벤트가 정상적으로 작동하지 않는 것으로 보입니다.
더블 탭 하면 select가 되는 것으로 보이는데, 확인 부탁드려도 될까요?

감사합니다.

<Selecto
  className="selecto-selection"
  dragContainer={".elements"}
  selectableTargets={[".selecto-area .cube"]}
  hitRate={0}
  selectByClick={true}
  selectFromInside={true}
  continueSelect={true}
  ratio={0}
  onSelect={(e) => {
    e.added.forEach((el) => {
      el.classList.add("selected");
    });
    e.removed.forEach((el) => {
      el.classList.remove("selected");
    });
  }}
></Selecto>

daybrush added a commit that referenced this issue Dec 1, 2023
@daybrush
Copy link
Owner

daybrush commented Dec 1, 2023

@ehd1120gus

안녕하세요. 1.26.2 버전을 배포했습니다.

아마도 클릭 이벤트가 동작하는 것으로 보이는데 확인해보실래요?

https://codesandbox.io/p/sandbox/competent-ben-fhrrwv?file=%2Fpackage.json%3A1%2C1-41%2C2

@ehd1120gus
Copy link

Click Event Issue (Complete)

react-selecto 1.26.2에서 클릭 이벤트 정상적으로 작동합니다!
빠른 업데이트 감사합니다.

Typescript Import Issue

업데이트된 모듈 임포트 관련해서 다음 오류가 발생합니다.

codesandbox.io 기준으로 아래와 같습니다.

Could not find a declaration file for module 'react-selecto'. '/nodebox/node_modules/.store/react-selecto@1.26.2/node_modules/react-selecto/dist/selecto.cjs.js' implicitly has an 'any' type.
Try npm i --save-dev @types/react-selecto if it exists or add a new declaration (.d.ts) file containing declare module 'react-selecto';

@types/react-selecto index.d.ts 만들어서 해결한 상태인데, 혹시 해서 남깁니다!

감사합니다 :)

@daybrush
Copy link
Owner

daybrush commented Dec 3, 2023

@ehd1120gus

안녕하세요. 확인해보니 files 필드 문제로 declaration이 누락되고 있었습니다.
1.26.3 버전으로 배포했습니다. 확인해보시길 바랍니다.

daybrush added a commit that referenced this issue Dec 3, 2023
@ehd1120gus
Copy link

감사합니다!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working complete
Projects
None yet
Development

No branches or pull requests

3 participants