Jquery 触发javascript的链接的最佳实践是什么
假设我有一个触发一些javascript的标签。例如: HTML:Jquery 触发javascript的链接的最佳实践是什么,jquery,html,hyperlink,Jquery,Html,Hyperlink,假设我有一个触发一些javascript的标签。例如: HTML: <a href="#" id="some_id">Trigger action!</a> <!-- or, with appripriate CSS : --> <span id="some_other_id">Trigger action!</span> $("#some_id").click(function() { alert("some action")
<a href="#" id="some_id">Trigger action!</a>
<!-- or, with appripriate CSS : -->
<span id="some_other_id">Trigger action!</span>
$("#some_id").click(function() {
alert("some action")
});
我如何才能最好地做到这一点
我的问题是,当我将鼠标悬停在链接上时,我应该在浏览器的左下角看到什么?例如,href值应该是多少
如果响应为“无”,则正确的方法是使用span
一些方法的例子:关于这一点有很多理论。地雷:
标记只应在链接到内容时使用。在这种情况下,应该有一个有效的href。在链接内容加载到页面上的情况下(模态、ajax等),JS将超越href并完成它的工作a
- 页面级交互(按钮、可点击图标等)不应该是链接,因为没有JavaScript,它们就没有任何用途。在这种情况下,它们应该使用与
不同的标记a
href=“#”
会导致页面滚动到顶部。如果你使用这个,那么你必须小心总是超过你的JS中的href…这很容易忘记。因此,对于纯javascript交互a
标记,我建议使用href=“javascript:;”
两种情况:
- 如果您有一个可在关闭javascript的情况下使用的回退功能(例如,在覆盖中打开的登录表单也可以作为常规页面打开),则使用指向该页面的
链接,并单击onclick触发覆盖/javascript操作 - 如果是没有回退的元素,则不要使用
(例如触发内联编辑器的内容)
,因为用户将其视为链接的“url”,这可能会让人困惑
至于
,我也不推荐它(即使它被广泛使用),因为正如前面提到的,它并不指向真实的位置
在这种情况下使用
的唯一好处是,您可以得到一个手动光标,但您可以在CSS中使用光标:指针
,将光标放在非
元素上。这取决于您是在做网页还是web应用程序
如果你正在做一个网页,试着让链接为那些没有启用JavaScript的人做一些有用的事情。通过这种方式,JavaScript增强了页面,而不是使其工作所必需的。这就是所谓的。例如:假设您有一个页面,并且希望它具有选项卡。将选项卡按顺序放入元素中,并为每个选项卡的元素指定一个id
值。将您带到这些选项卡的导航链接在其片段中具有id
值(例如,#movies
将您带到movies
元素-浏览器为您执行此操作)。然后,当您的JavaScript加载时,让它将这些元素转换为选项卡,并接管这些链接的操作
如果您正在执行web应用程序,并且该链接会触发UI中的“页面更改”或“选项卡更改”类型的更改,请将其作为链接保留,并将
href
作为一个片段(例如,#movies
)来描述应用程序在发生更改时切换到的“页面”或“选项卡”。您甚至可以在处理链接时使用这些信息,也可以在最初加载页面时使用这些信息,这样您的各种页面状态都可以链接。如果“链接”不会导致应用程序中的位置样式发生更改,则大多数情况下会将其改为按钮(您可以在很大程度上设置按钮元素的样式,尽管我不会使它们看起来像链接)。a
是可以的,StackOverflow使用它们作为“标志”和“关闭”的示例你的问题下面有按钮。退一步的意思是
,在你的浏览器doesnotsupportjavascript.html
上,请告知用户他们使用的是一个需要拍击的陈旧浏览器。如果没有javascript,页面根本无法运行,我会使用带有粗体红色文本的陈旧浏览器:)
好。然而,这样你就不会有“断开”的链接。该链接将被单击,尽管用户在预期离开时没有被抓到,但按钮的功能与预期相同,您将进入一个页面。这让用户感觉信息更灵通,而不是坐在椅子上说“这个网站糟透了!链接根本不起作用!”我的意思是使用
,而不是使用你建议的“yourbrowserdoesnotupportjavascript.html”的链接。正如我在回答中提到的,不指向实际位置的可交互元素不应该使用
标记。这是一个IMHO
语句。。充其量。