rogerco
(Roger CO)
1
此问题已由用户报告,我进行了核查,确认其描述属实。
设置分类框。
在顶层,所有主分类以方框形式显示,子分类链接位于方框内部。点击子分类会跳转到该子分类,点击方框其他区域则跳转到父分类。这是预期行为。
然而……
……如果在子分类上右键点击,并在浏览器弹出菜单中选择“在新标签页中打开链接”,则按预期工作:原标签页保持不变,子分类在新标签页中打开。到目前为止一切正常。
但如果使用 Ctrl+ 点击或 Cmd+ 点击(这是浏览器中右键“在新标签页中打开”的标准快捷键),则会出现异常。
子分类确实会在新标签页中正确打开,但原标签页却跳转到了父分类。
我认为问题在于:该方框 div 关联了一个 JQuery 操作,其属性为 <div ... data-url="主分类链接">,而子分类的链接是常规的 <a> 标签。
右键点击完全由浏览器处理,因此能正常工作。
Ctrl+ 点击虽然被浏览器拦截以在新标签页中打开链接,但基本的左键点击事件仍被传递给 JQuery 进行处理。
在分类视图中显示的分类框中尝试此操作时,也会出现类似情况。
这个问题可以修复吗?
3 个赞
我之前曾尝试通过将该主分类链接设为普通链接来修复此问题
……但我们最终没有实施该更改,因为嵌套的锚点标签不符合 HTML 规范,并且会在某些浏览器中引发问题。
不过,我会尝试另一种技术,其详细说明如下:Nested Links Without Nesting Links
该修复方法是在框内放置一个指向父分类的空链接,然后将该链接扩展以覆盖整个框。任何子链接将位于该链接的上层,而不是嵌套在其中。
7 个赞
rogerco
(Roger CO)
3
这确实是个巧妙的技巧。Sara 说道:
就我个人而言,我认为对于分类框来说,这大概是可以接受的。如果用户想要选中和复制任何内容,最可能的情况是复制分类标题和/或描述,而这两者都可以通过点击该框并查看分类来获取(特别是如果启用了 分类横幅 组件的话)。
3 个赞
此主题在最后一次回复 5 天后自动关闭。不再允许新回复。