You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

移动端windows.location失效求助(jQuery/JavaScript新手)

解决移动端“MORE VIDEOS”链接无法跳转的问题

嘿,作为刚接触jQuery/JavaScript的新手,遇到这种桌面正常、移动端拉胯的兼容性问题太常见啦!结合你提到的场景(给UIkit可筛选视频画廊追加tab链接),我帮你分析下核心原因,再给你几个靠谱的解决方案:

可能的核心原因

你是在页面加载完成后动态追加的tab项,但UIkit的uk-tab/uk-tab-responsive组件在移动端有特殊交互逻辑(比如转成下拉菜单、绑定触摸切换事件),动态追加的元素没有被UIkit组件初始化覆盖,或者组件的切换事件直接阻止了链接的默认跳转行为。

解决方案一:重新初始化UIkit Tab组件

在你追加完链接后,手动触发UIkit的Tab组件初始化,让它识别新添加的tab项:

jQuery(document).ready(function( $ ){
  // 替换成你完整的追加代码,比如:
  const moreVideosTab = '<li><a href="你的目标URL">MORE VIDEOS</a></li>';
  $( '.uk-tab, .uk-tab-responsive' ).append( moreVideosTab );
  
  // 关键:重新初始化UIkit的Tab组件
  if (window.UIkit) {
    UIkit.tab('.uk-tab, .uk-tab-responsive');
  }
});

解决方案二:阻止Tab切换事件干扰链接跳转

如果重新初始化后还是不行,大概率是UIkit的Tab切换事件拦截了链接的点击。可以给你的自定义tab项加个专属类,然后阻止事件冒泡,让链接能正常跳转:

jQuery(document).ready(function( $ ){
  // 给追加的li加个自定义类,比如no-tab-trigger
  const moreVideosTab = '<li class="no-tab-trigger"><a href="你的目标URL">MORE VIDEOS</a></li>';
  $( '.uk-tab, .uk-tab-responsive' ).append( moreVideosTab );
  
  // 给这个链接绑定点击事件,阻止UIkit的Tab切换事件冒泡
  $(document).on('click', '.no-tab-trigger a', function(e){
    e.stopPropagation(); // 阻止事件往上传递给Tab组件
    return true; // 允许默认的链接跳转行为
  });
});

额外排查点

如果上面两个方法都没用,你可以检查下:

  • 移动端是否有CSS设置了pointer-events: none禁用了链接的点击?
  • 有没有其他脚本(比如广告拦截、自定义交互脚本)阻止了链接的默认行为?

内容的提问来源于stack exchange,提问作者Jeremy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:31:04