分类框链接

此问题已由用户报告,我进行了核查,确认其描述属实。

设置分类框。

在顶层,所有主分类以方框形式显示,子分类链接位于方框内部。点击子分类会跳转到该子分类,点击方框其他区域则跳转到父分类。这是预期行为。

然而……
……如果在子分类上右键点击,并在浏览器弹出菜单中选择“在新标签页中打开链接”,则按预期工作:原标签页保持不变,子分类在新标签页中打开。到目前为止一切正常。

但如果使用 Ctrl+ 点击或 Cmd+ 点击(这是浏览器中右键“在新标签页中打开”的标准快捷键),则会出现异常。
子分类确实会在新标签页中正确打开,但原标签页却跳转到了父分类。

我认为问题在于:该方框 div 关联了一个 JQuery 操作,其属性为 <div ... data-url="主分类链接">,而子分类的链接是常规的 <a> 标签。
右键点击完全由浏览器处理,因此能正常工作。
Ctrl+ 点击虽然被浏览器拦截以在新标签页中打开链接,但基本的左键点击事件仍被传递给 JQuery 进行处理。

在分类视图中显示的分类框中尝试此操作时,也会出现类似情况。

这个问题可以修复吗?

3 个赞

我之前曾尝试通过将该主分类链接设为普通链接来修复此问题

……但我们最终没有实施该更改,因为嵌套的锚点标签不符合 HTML 规范,并且会在某些浏览器中引发问题。

不过,我会尝试另一种技术,其详细说明如下:Nested Links Without Nesting Links

该修复方法是在框内放置一个指向父分类的空链接,然后将该链接扩展以覆盖整个框。任何子链接将位于该链接的上层,而不是嵌套在其中。

7 个赞

这确实是个巧妙的技巧。Sara 说道:

就我个人而言,我认为对于分类框来说,这大概是可以接受的。如果用户想要选中和复制任何内容,最可能的情况是复制分类标题和/或描述,而这两者都可以通过点击该框并查看分类来获取(特别是如果启用了 分类横幅 组件的话)。

3 个赞

好的,看起来效果会不错……已在此处更新

6 个赞

此主题在最后一次回复 5 天后自动关闭。不再允许新回复。