jquery单击事件最合适的html标记是什么?

jquery单击事件最合适的html标记是什么?,jquery,html,css,standards,Jquery,Html,Css,Standards,我在jquery方面相当不错,但我正在做一些我希望非常基于标准的事情。我一直遇到的问题是。使用什么html标记绑定到单击事件。按钮、跨距、锚定标记、div或其他。第一我可以放置一个带有href=的锚定标记,但当您单击它时,它会显示在url中。我不知道为什么这会困扰我,但确实如此 是否有任何一种方法比另一种方法有速度优势,或者是否有一个标准的理由让你选择一个按钮而不是锚定标签或跨度 谢谢你的建议。有没有一个地方有一个很好的标准实践列表,任何人都可以指给我看?我已经搜索过了,每个人似乎都有不同的方法

我在jquery方面相当不错,但我正在做一些我希望非常基于标准的事情。我一直遇到的问题是。使用什么html标记绑定到单击事件。按钮、跨距、锚定标记、div或其他。第一我可以放置一个带有href=的锚定标记,但当您单击它时,它会显示在url中。我不知道为什么这会困扰我,但确实如此

是否有任何一种方法比另一种方法有速度优势,或者是否有一个标准的理由让你选择一个按钮而不是锚定标签或跨度


谢谢你的建议。有没有一个地方有一个很好的标准实践列表,任何人都可以指给我看?我已经搜索过了,每个人似乎都有不同的方法。

我认为在处理单击事件的元素上没有指定的标记。例如,在单击时显示子菜单的菜单应该使用and标记,而表单验证按钮则由元素表示


通常,我会尝试使用与我向用户显示的内容的含义最相关的元素。

我认为元素上没有指定的标签来处理单击事件。例如,在单击时显示子菜单的菜单应该使用and标记,而表单验证按钮则由元素表示


通常我会尝试使用与我向用户展示的内容的含义最相关的元素。

不幸的是,我会说这有点开放。基本上,我会将答案总结为:

将您的点击事件绑定到最有用户体验意义的内容/为最终用户提供最佳易用性,而无需进行额外的样式设置,例如使div看起来像按钮


也就是说,大多数用户希望点击按钮或锚定,而点击其他元素的自动本能则更少。为了使锚点看起来更好,您可以使用一个近似于您正在做的事情的假链接,然后执行event.PreventDefault调用

我想说,不幸的是,这有点开放。基本上,我会将答案总结为:

将您的点击事件绑定到最有用户体验意义的内容/为最终用户提供最佳易用性,而无需进行额外的样式设置,例如使div看起来像按钮

也就是说,大多数用户希望点击按钮或锚定,而点击其他元素的自动本能则更少。为了使锚点看起来更好,您可以使用一个近似于您正在做的事情的假链接,然后执行event.PreventDefault调用

你应该做语义上最好的事情

在给定的上下文中,什么是有意义的?有时一个按钮是最好的解决方案,有时它是一个锚链接

在单页应用程序中,您仍然使用链接,即使您实际上没有发送任何请求。但是你要坚持使用它们,因为它们对用户来说是有意义的,因为他们知道链接是用来在你的网站上导航的——改变你的浏览器历史记录

当您希望发生与导航无关的事情时,如打开模式、切换功能等,应使用按钮

话虽如此,你想做什么就做什么!HTML只不过是语义。毕竟,浏览器解释了HTML的含义,而您对此无能为力。没有技术上的理由不这样或那样做。

你应该做语义上最好的事情

在给定的上下文中,什么是有意义的?有时一个按钮是最好的解决方案,有时它是一个锚链接

在单页应用程序中,您仍然使用链接,即使您实际上没有发送任何请求。但是你要坚持使用它们,因为它们对用户来说是有意义的,因为他们知道链接是用来在你的网站上导航的——改变你的浏览器历史记录

当您希望发生与导航无关的事情时,如打开模式、切换功能等,应使用按钮


话虽如此,你想做什么就做什么!HTML只不过是语义。毕竟,浏览器解释了HTML的含义,而您对此无能为力。没有任何技术上的理由不这样做。

尝试使用最合理的HTML元素来执行您尝试执行的操作,这就是语义HTML

例如,如果是操作,请使用按钮;如果是导航,请使用定位标记

对于锚定标记,您执行单击事件的方式可能更容易出现问题。请尝试这样做以防止url中出现

$('.myanchor').click(function(event){
    event.preventDefault();
    // do something.
});

尝试对您尝试执行的操作使用最合理的HTML元素,这是语义HTML

例如,如果是操作,请使用按钮;如果是导航,请使用定位标记

对于锚定标记,您执行单击事件的方式可能更容易出现问题,请尝试此方法以防止f rom出现在url中

$('.myanchor').click(function(event){
    event.preventDefault();
    // do something.
});

您可以更具体地说明正在触发的单击事件吗?实际上,没有一个正确的元素可以将单击绑定到该元素上-这取决于单击事件所做的操作的上下文,例如,如果您需要按钮上的单击事件,则没有必要将所有单击事件都放在范围上,如果你正在制作一个div的动画,那么在文本元素上放置点击事件是没有意义的。我正在制作一个类似于其他社交网络的帖子/评论部分。你可以喜欢帖子,发表评论,喜欢评论。我碰巧注意到,过了一段时间,这个东西上有数百个锚定标签。我真的很想用最有效的方法。我想我会问的。似乎大家的共识是没有正确的方法,只是视情况而定。我感谢大家的帮助!。谢谢您可以更具体地说明正在触发的单击事件吗?实际上,没有一个正确的元素可以将单击绑定到该元素上-这取决于单击事件所做的操作的上下文,例如,如果您需要按钮上的单击事件,则没有必要将所有单击事件都放在范围上,如果你正在制作一个div的动画,那么在文本元素上放置点击事件是没有意义的。我正在制作一个类似于其他社交网络的帖子/评论部分。你可以喜欢帖子,发表评论,喜欢评论。我碰巧注意到,过了一段时间,这个东西上有数百个锚定标签。我真的很想用最有效的方法。我想我会问的。似乎大家的共识是没有正确的方法,只是视情况而定。我感谢大家的帮助!。谢谢美好的你说得对,只是我的强迫症让我很难受。如果我能设计一个锚,跨度和按钮是一样的。哪一个是最好的。我会吃药,用任何有意义的东西。谢谢美好的你说得对,只是我的强迫症让我很难受。如果我能设计一个锚,跨度和按钮是一样的。哪一个是最好的。我会吃药,用任何有意义的东西。谢谢