2014-01-29 38 views
1

我在jquery上相当体面,但我正在做一些我想成为基于标准的东西。我不断遇到的问题是。什么html标签用来绑定到一个点击事件。按钮,跨度,锚标签,divs或其他东西。第一。我可以将一个锚标签放在href =“#”中,但是当它点击它时,它会显示在url中。我不知道为什么困扰我,但它确实如此。什么是jQuery点击事件最合适的html标签?

是否有任何速度优势超过另一个,或者有一个标准的原因,你会选择一个超过锚标签或跨度的按钮。

欣赏建议。有没有一个地方有一个很好的标准实践清单,任何人都可以指点我?我搜索过了,每个人似乎都有不同的方法。

+0

您可以更具体地了解被点击的点击事件吗?实际上没有什么“正确”的元素应该绑定点击 - 这取决于点击事件的内容,例如,如果您需要在按钮上放置所有点击事件,则没有意义将所有点击事件放在跨度上,并且在那里如果你正在为一个div制作动画,在文本元素上放置点击事件是没有意义的。 –

+0

我正在处理类似于其他任何社交网络的帖子/评论部分。你可以喜欢帖子,发表评论,如评论。我偶然注意到,过了一会儿,这件东西里有数百个锚标签。我只是想以最有效的方式来做到这一点。我想我会问。似乎共识是没有正确的方式,只是取决于情况。我感谢大家的帮助!谢谢! –

回答

2

我不认为有什么元素应该是处理点击事件的指定标签。例如,点击时显示子菜单的菜单应该使用< ul>和< li>标签,而表单验证按钮则由<按钮>元素表示。

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

1

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

将您的点击事件绑定到任何最能体现用户体验的位置/为最终用户提供最好的易用性,而无需执行额外的样式,例如让div看起来像一个按钮。

这就是说,大多数用户将期望点击一个按钮或锚点,并有较少的自动点击其他元素。为了使锚点看起来更好,你可以使用一个虚假的链接,近似你正在做的,然后做一个event.PreventDefault()电话。

1

你应该做任何语义最好的作品

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

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

按钮应该当你想要的东西发生无关导航使用时,就像打开一个模式,toggeling功能等

虽这么说,你可以做任何你想要的! HTML只不过是语义。毕竟,浏览器解释你的HTML的含义,并且你无能为力。没有这样或那样的技术理由。

+0

不错。你是对的,这只是我的强迫症杀死了我。如果我可以设计一个锚点并按钮相同。哪一个是最好的。我会服用我的药片并使用任何有意义的东西。谢谢! :) –

1

尝试为您正在尝试执行的操作使用最明智的HTML元素,这是语义html。

例如,如果它是一个操作使用一个按钮,如果它是导航使用一个锚标记。

对于你的锚标签,也许你执行你的点击事件的方式更多的问题试试这个来防止#出现在url中。

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