JQuery点击不起作用

时间:2013-03-18 21:16:37

标签: jquery click coffeescript

我有一个奇怪的行为,在同一个文件中,更改事件正在运行,但点击事件不是。我知道我可能没有发布足够的代码,但我只想知道是否有人知道为什么事件可能会起作用但另一个不会。这是我的代码:

class AddBTS
  constructor: () ->

    $('#a').on 'change', (evt) => @a evt
    $('#b').on 'change', (evt) => @b evt
    $('#c').on 'click', (evt) => @c


  a: (evt) =>
    console.log 'a works'

  b: (evt) =>
    console.log 'b works'

  c: () =>
    console.log 'c works'

它引用的html:

<input type="file" id="a">
<input type="file" id="b">
<button id="c">OK</button>

事件在a和b上正常工作,但click事件对c不起作用。

我的编译JS在DOM加载后执行。

任何人都可以给我一些关于可能导致这种情况的指示,我会尝试一下。

有趣的是,当我双击c时,我收到以下错误:

Error in event handler for 'undefined': IndexSizeError: DOM Exception 1 Error: Index or size was negative, or greater than the allowed value.

2 个答案:

答案 0 :(得分:3)

你必须调用你的c函数:

@c()

没有parens,你只能访问它。请记住,CoffeeScript不是Ruby;)。

答案 1 :(得分:0)

我不认为您需要evt,因为您没有使用它。

$('#c').on 'click', () => @c