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

如何在非<a>标签的DataGrid行hover时显示左下角URL提示?

实现DataGrid行悬停显示URL预览的方案

当然可以实现,下面给你两种实用的方法:

方法一:利用原生DOM的title属性(简单快速)

直接给每个.data-row元素添加title属性,值设为目标URL。虽然默认的浏览器提示是鼠标旁的气泡,不是左下角地址栏样式,但如果只是要展示URL,这是最省事的方案:

// 假设每行的目标URL存在data-url属性中
document.querySelectorAll('.data-row').forEach(row => {
  const targetUrl = row.dataset.url;
  row.setAttribute('title', targetUrl);
});

方法二:模拟浏览器地址栏预览(贴近真实链接体验)

浏览器左下角的URL预览是<a>标签独有的原生行为,要复刻这个效果,可以借助隐藏的锚点元素配合事件监听:

  1. 先在页面中添加一个隐藏的锚点:
<a id="hidden-link" style="position: fixed; visibility: hidden;"></a>
  1. 给.data-row绑定鼠标事件,动态修改隐藏锚点的href:
const hiddenLink = document.getElementById('hidden-link');
const rows = document.querySelectorAll('.data-row');

rows.forEach(row => {
  // 鼠标悬停时设置隐藏链接的地址并触发聚焦
  row.addEventListener('mouseenter', () => {
    const targetUrl = row.dataset.url;
    hiddenLink.href = targetUrl;
    hiddenLink.focus();
  });

  // 鼠标离开时清空地址
  row.addEventListener('mouseleave', () => {
    hiddenLink.href = '';
  });

  // 点击行执行跳转
  row.addEventListener('click', () => {
    window.location.href = row.dataset.url;
  });
});

这样鼠标悬停在.data-row上时,浏览器左下角就会像真实链接一样显示目标URL了,记得提前给每行的data-url属性设置好跳转地址。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 21:45:00