2

我在我的应用程序中设置了一个 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 上的空字符串上被调用,这会中断执行。我不确定这是怎么发生的。有任何想法吗?

4

0 回答 0