我已经看到了几种不同的方法来创建HTML文档中的可点击区域或元素组。

一种方法是将一堆元素包装在锚标记中,并使其显示为块。但是有人认为这在语义上是不正确的。另一种方法是使用JavaScript,但是,如果操作不当,则会禁用中间点击和右键单击,从而破坏用户体验。

最佳答案

W3说:

(编辑:一个链接会很好... dev.w3.org


  只要其中没有交互内容(例如按钮或其他链接),该a元素就可以包裹在整个段落,列表,表格等,甚至整个节中。本示例说明如何将其用于将整个广告块制作为链接:


<aside class="advertising">
 <h1>Advertising</h1>
 <a href="http://ad.example.com/?adid=1929&amp;pubid=1422">
  <section>
       <h1>Mellblomatic 9000!</h1>
   <p>Turn all your widgets into mellbloms!</p>
   <p>Only $9.99 plus shipping and handling.</p>
  </section>
 </a>
 <a href="http://ad.example.com/?adid=375&amp;pubid=1422">
  <section>
   <h1>The Mellblom Browser</h1>
   <p>Web browsing at the speed of light.</p>
   <p>No other browser goes faster!</p>
  </section>
 </a>
</aside>


因此,如果您没有交互内容,请使用<a>;否则,请使用JavaScript。无论如何,这是我的看法。

另外,我还要断言,由于<a>具有文本级语义,因此所有非文本类型的内容都应使用JavaScript而不是<a>单击。就是说,很多人写<a href="..."><img ...></a>,并且图像肯定不是文本。因此,充其量是一个晦涩的话题。

10-05 20:50
查看更多