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

[Bug Report] 点击事件失效 #13321

Open
guanzikang opened this issue Jan 21, 2025 · 5 comments
Open

[Bug Report] 点击事件失效 #13321

guanzikang opened this issue Jan 21, 2025 · 5 comments

Comments

@guanzikang
Copy link

重现链接

https://codesandbox.io/p/devbox/jskjtj

Vant 版本

4.9.6

描述一下你遇到的问题。

在IOS一个页面中(Android 没问题),使用了 keep-alive + van-pull-refresh + van-tabs sticky + van-list,初进入页面点击正常,当点击item跳转到其他页再返回当前页时,出现了页面点击事件无效, van-tabs也消失了

重现步骤

在当前页 点击任意Item 会进行跳转到另外一个页面
从另外一个页面再 返回到当前页

设备/浏览器

IOS/Safri

@guanzikang
Copy link
Author

guanzikang commented Jan 21, 2025

通过IOS webview 嵌入 H5 方式实现

设备/浏览器

IOS/Safari

@sign1000
Copy link

sign1000 commented Feb 8, 2025

我也遇到不能点的情况,我的是上半截页面不能点,下半截页面正常。只会发生在ios手机上,不知道什么原因导致

@guanzikang
Copy link
Author

我也遇到不能点的情况,我的是上半截页面不能点,下半截页面正常。只会发生在ios手机上,不知道什么原因导致

是的,我排查好久没排查出来问题

@inottn
Copy link
Collaborator

inottn commented Feb 10, 2025

我也看不出来,但发现这种情况下点击只会触发 html 节点的 click 事件,怀疑是 IOS 的问题。如果有任何人对这个问题感兴趣,欢迎尝试解决。

@sign1000
Copy link

sign1000 commented Feb 19, 2025

@inottn 我调试了下,点完页面返回回来会执行tabs中的setCurrentIndex函数,函数最下面

if (stickyFixed && !props.scrollspy) {
        setRootScrollTop(Math.ceil(getElementTop(root.value) - offsetTopPx.value));
 }

这时stickyFixed为true,props.scrollspy为false。会执行setRootScrollTop。
最后会执行setScrollTop,把el.scrollTo(el.scrollX, value);注释掉就没问题了

function setScrollTop(el, value) {
  if ("scrollTop" in el) {
    el.scrollTop = value;
  } else {
 //   el.scrollTo(el.scrollX, value);
  }
}

怀疑是它前面这个函数写的有问题

function setRootScrollTop(value) {
  setScrollTop(window, value);
  setScrollTop(document.body, value);
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants