【发布时间】:2012-07-25 20:22:24
【问题描述】:
我想在链接 href 是哈希 (#) 时自动抑制点击事件。我不想在每个视图中都使用 e.preventDefault() 来停止事件。
如何停止 # hrefs 的应用程序范围内的点击事件?
【问题讨论】:
标签: backbone.js backbone-views backbone-routing
我想在链接 href 是哈希 (#) 时自动抑制点击事件。我不想在每个视图中都使用 e.preventDefault() 来停止事件。
如何停止 # hrefs 的应用程序范围内的点击事件?
【问题讨论】:
标签: backbone.js backbone-views backbone-routing
有趣的问题。显然,骨干路由在默认行为之前被触发。您需要做的是插入一个在主干路由和默认行为之间触发的事件处理程序,然后是e.preventDefault()。
我相信事件处理程序的执行顺序取决于它们的定义顺序。所以稍微玩一下。您可以使用以下内容检查事件处理程序数组:$(window).data('events');(我假设您使用的是 jQuery?)
【讨论】:
preventDefault 放在该脚本的末尾。至少值得一试。