Backbone.js 对于href='#';在主干/木偶视图中?
在我的主干应用程序中,我有一个根路由,它是空白的。在我的一些视图中,我在视图的Backbone.js 对于href='#';在主干/木偶视图中?,backbone.js,anchor,marionette,preventdefault,Backbone.js,Anchor,Marionette,Preventdefault,在我的主干应用程序中,我有一个根路由,它是空白的。在我的一些视图中,我在视图的事件对象中注册了UI元素的标记。为了有正确格式的标记,我需要在这些锚中有href='#',但我不希望它们转到我的应用程序的根目录 似乎对于所有我不想进入根目录的s,我必须始终调用evt.preventDefault()。我想确认这一点,并了解是否有其他/更好的选择 我知道我可以用光标:指针制作或,但我的直觉告诉我,我希望这些在语义上成为锚。你有三个选择: 始终在处理程序中返回false,或对事件调用preventDe
事件对象中注册了UI元素的
标记。为了有正确格式的标记,我需要在这些锚中有href='#'
,但我不希望它们转到我的应用程序的根目录
似乎对于所有我不想进入根目录的
s,我必须始终调用evt.preventDefault()
。我想确认这一点,并了解是否有其他/更好的选择
我知道我可以用光标:指针制作
或
,但我的直觉告诉我,我希望这些在语义上成为锚。你有三个选择:
- 始终在处理程序中返回
false
,或对事件调用preventDefault
- 使用
href=“javascript:void(0)”
(这会伤害我的眼睛)
- 在不希望导航的链接上放置某种特殊的类或数据属性,并创建一些总是阻止导航的通用处理程序
- 无论何时,只要您现在正在对虚拟
href
使用
,请使用
在我看来,最后一个选项是最好的,因为很明显,这些GUI元素执行的某些操作与您当前显示的内容是“本地”的,而链接(或者更确切地说:它们链接到的URI)是通过设计来表示不同的资源(和内容)。我最近不得不对一个现有项目这样做,因此,我想提供一个有条件的选择,以选择答案。。。根据所讨论项目的复杂性,我认为还有另一个更有效的选择
很简单:
- 使其能够针对所有适用的链接:
示例:将
class=“无链接”
添加到所有相关
也就是说,通常越简单越好。。如果您不需要将自定义类添加到页面上的多个链接中,则不需要添加使用此选项时也要非常小心,如果jQuery选择器不够具体,可能会导致某些链接在您不希望的情况下被禁用。谢谢!我同意最后一个选择看起来是最好的。我将进一步探讨这个问题。+1用于使用
s。随着CSS的发展,无论选择何种布局或样式,标记都可以由内容结构来处理。