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

如何让linksblock内的链接在弹窗打开?无法修改原链接

问题解决:让指定容器内的链接在弹窗打开

你的代码无效主要有两个核心问题:

  • 未阻止链接的默认跳转行为,浏览器会优先执行原生跳转,弹窗代码被忽略
  • 链接地址缺少http/https协议前缀,window.open会将其识别为当前页面的相对路径,无法正确打开目标站点

修正后的代码

$(".linksblock a").on("click", function(e) {
  // 阻止浏览器默认跳转动作
  e.preventDefault();
  var share_link = $(this).prop('href');
  // 自动补全协议前缀,避免相对路径问题
  if (!/^https?:\/\//i.test(share_link)) {
    share_link = 'https://' + share_link;
  }
  window.open(share_link, "_blank", "toolbar=yes,scrollbars=yes,resizable=yes,top=500,left=500,width=400,height=400");
});

动态加载链接的适配方案

如果这些链接是页面加载完成后动态生成的,需要改用事件委托绑定:

$(document).on("click", ".linksblock a", function(e) {
  e.preventDefault();
  var share_link = $(this).prop('href');
  if (!/^https?:\/\//i.test(share_link)) {
    share_link = 'https://' + share_link;
  }
  window.open(share_link, "_blank", "toolbar=yes,scrollbars=yes,resizable=yes,top=500,left=500,width=400,height=400");
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 11:08:14