Javascript 我必须使用<;a>;标签?我不能只使用.click()?

Javascript 我必须使用<;a>;标签?我不能只使用.click()?,javascript,jquery,html,click,href,Javascript,Jquery,Html,Click,Href,我正在使用jQuery和jQuery mobile,我一直倾向于使用按钮/a标签制作可点击事件 <button id='id'>my button</button> <a href='#' id='id2'>my anchor</a> 我的按钮 我在某个地方读到,这以前是推荐的标准,但后来这个限制被否决了 我的理解是,以下内容不仅可以接受,而且不违反标准 <h1 id="id">abcdef</h1> <scr

我正在使用jQuery和jQuery mobile,我一直倾向于使用按钮/a标签制作可点击事件

<button id='id'>my button</button>
<a href='#' id='id2'>my anchor</a> 
我的按钮
我在某个地方读到,这以前是推荐的标准,但后来这个限制被否决了

我的理解是,以下内容不仅可以接受,而且不违反标准

<h1 id="id">abcdef</h1>

<script>
$("#id").click(myFunction);
</script>
abcdef
$(“#id”)。单击(myFunction);

我说得对吗?我是否可以将单击事件应用于任何我想要的标记?(我希望/要求我的客户年龄不到3岁)

虽然您可以将单击事件处理程序附加到大多数元素,但我建议您坚持将它们附加到
a
,或
按钮
,或用户希望单击的任何其他元素,即不是
,或
strong

这有两个原因。首先,因为这是人们所期望的,拥有一个用户可以轻松导航和操作的UI,而无需考虑他们需要做什么,这是至关重要的。用户不会认为一个大标题是可点击的,因此它可能会隐藏一些他们需要使用的功能

其次,通过将事件保留在标准的可单击元素上,您可以遵守可访问性准则,并且在JS代码无法工作或被客户端浏览器禁用时,还可以提供优雅的冗余


当然也有例外,但作为一般规则,这是我坚持的。

虽然您可以将单击事件处理程序附加到大多数元素,但我建议您坚持将它们附加到
a
、按钮或用户希望单击的任何其他元素,即不是
,或
strong

这有两个原因。首先,因为这是人们所期望的,拥有一个用户可以轻松导航和操作的UI,而无需考虑他们需要做什么,这是至关重要的。用户不会认为一个大标题是可点击的,因此它可能会隐藏一些他们需要使用的功能

其次,通过将事件保留在标准的可单击元素上,您可以遵守可访问性准则,并且在JS代码无法工作或被客户端浏览器禁用时,还可以提供优雅的冗余


当然也有例外,但作为一般规则,这是我坚持的。

只要它起作用,我会说去做吧。保持一致

一般来说,我会说是的,你可以把点击事件应用到你想要的任何事情上;请记住,不同浏览器的此功能各不相同。我似乎记得,在我生命中的某个时刻,我在试图让一个div接收一个click事件时遇到了很多麻烦


我更喜欢按钮和锚定标签而不是标题标签。锚定标记可以用选项卡覆盖,通常描述指向某个对象的链接。标题标签通常更多的是用于组织页面中的内容,而不是作为一个交互元素。

只要它有效,我会说继续做下去。保持一致

一般来说,我会说是的,你可以把点击事件应用到你想要的任何事情上;请记住,不同浏览器的此功能各不相同。我似乎记得,在我生命中的某个时刻,我在试图让一个div接收一个click事件时遇到了很多麻烦


我更喜欢按钮和锚定标签而不是标题标签。锚定标记可以用选项卡覆盖,通常描述指向某个对象的链接。页眉标记通常更多地用于组织页面中的内容,而不是作为一个交互式元素。

是的,您可以将单击事件附加到其他标记,而不仅仅是按钮/a标记……这就回答了=)谢谢!是的,您可以将单击事件应用到您想要的任何元素。(如果这是您想要知道的)是的,您可以将单击事件附加到其他标记,而不仅仅是按钮/a标记…这回答了这个问题=)谢谢!是的,你可以将点击事件应用到你想要的任何元素。(如果你想知道的话)“我建议你坚持将它们附加到一个和按钮元素。”-我不同意,还有很多其他元素对点击事件有很好的用途。好吧,我的措辞不好-我不是说作为一个详尽的列表。我的观点是,不要在
p
hr
元素上放置单击处理程序。将它们包装在一个默认可单击的元素中,然后自己通过JS处理事件。我的H1标记只是一个例子——我可能已经选择了一个表、img、span、div或其他任何东西。我知道我可以,但不确定我是否应该避免这样做。@Spencer Wieczorek例如:ImagesIt更适合用户访问,因为用户可以使用键盘导航到
a
元素,该元素包含
img
(在这里的示例中),然后按返回键触发单击事件。如果
img
不在
a
中,键盘将无法选择它,除非您向其添加
tabindex
,而这更容易忘记。另外,我相信在后一种情况下,屏幕阅读器会错过可点击的
img
,但它会识别周围的父
a
。“我建议您坚持将它们附加到和按钮元素上。”-我不同意,还有很多其他元素对点击事件有很好的用途。好的,我这方面的措辞很糟糕——我并不是说这是一份详尽的清单。我的观点是,不要在
p
hr
元素上放置单击处理程序。将它们包装在一个默认可单击的元素中,然后自己通过JS处理事件。我的H1标记只是一个例子——我可能已经选择了一个表、img、span、div或其他任何东西。我知道我可以,但不确定我是否应该避免这样做。@Spencer Wieczorek例如:ImagesIt更适合用户访问,因为用户可以使用键盘导航到
a
元素