绑定事件的正确元素

时间:2011-10-24 17:28:03

标签: javascript html

我有元素<a href="javascript: void(0)" id="bar">foo</a>#barclick个事件。我告诉自由职业者,最好使用<div />(如果需要,使用样式cursor: pointer;而不是超链接),因为实际的href=""无论如何都没有被利用,也没有后备(并且在这种情况下不能用于JS-less版本。

但是,这来自我的理性思考和我的经验。因此,任何人都可以告诉我,对于后者是否正确,如果可能的话,提供一个更深入地讨论这个问题的资源的参考?

2 个答案:

答案 0 :(得分:3)

这是一个非常好的哲学问题。

但是,我建议使用按钮。而不是可点击的div。

这背后的基本原理是<div>意味着是一个无语义的容器,其中一个按钮意味着“在页面上做某事”,这更好地描述了你想要实现的目标。

作为一般规则,任何<a href="javascriot:void(0)"><a href="#">都可以替换为<button>

答案 1 :(得分:2)

你说你不应该使用一个没有链接的链接 - 这是绝对错误的语义。

但是考虑使用比<div>(页面的一个部门/部分)更有意义的东西。它是一个你点击的按钮吗?使用<button>。也许它更像是菜单选项?使用<menu><command>http://www.w3.org/TR/html5/interactive-elements.html#the-command-element)。这是找到符合您需求的最佳元素的好资源:

http://joshduck.com/periodic-table.html