我在我的应用程序中设置了一个 Backbone Marionette 应用程序,如下所示
CL.Modules.Users = (Users, App, Backbone, Marionette, $, _) ->
Users.Router = class Router extends CL.AppRouter
appRoutes:
'profile' : 'showProfile'
我有一个带有参数的函数 showProfile()。
showProfile: (arg1) ->
alert(arg1)
arg1.preventDefault() if arg1?
在 IE8 以外的浏览器中,arg1 被警告为未定义,但在 IE8 上,它是一个空字符串(我使用 typeof 检查)。问题是arg1?
检查事件是否未定义,因此preventDefault()
在 IE8 上的空字符串上被调用,这会中断执行。我不确定这是怎么发生的。有任何想法吗?