我在一个Spine.js控制器CoffeeScript中定义的事件,像这样:停止超链接事件在Spine.js
class Charter extends Spine.Controller
events:
'tap #update': 'update'
constructor: (params) ->
super
update: (e) ->
dosomething()
false
当#UPDATE点击链接,更新函数被调用,但链接也被激活并将浏览器指向URL。
我试过e.preventDefault(),e.stopPropagation(),并返回false无济于事。 事件似乎是正确的形成,当前目标是#update链接,所以我想知道它是否是Spine处理事件的唯一方式(我在Backbone.js中没有这个问题)
你有没有在* dosomething()之前尝试'e.preventDefault()'*?如果它抛出一个错误,你可能永远不会得到回报。 –
是的,我试过'e.preventDefault()'和'e.stopPropagation'作为更新方法没有任何运气的第一件事。 – djlumley
即使我除了尝试停止事件之外没有在更新方法中执行其他任何操作,我仍会将其指向新页面。 控制台日志显示每次都会调用更新方法。 – djlumley