0

我有一个功能应该在两个不同的事件中使用,但我不能让它工作。我在哪里犯错?还是我必须改用 Class ?

coment_error = (that) ->
  $this = $(that)
  $new_answer = $this.parent('.new_answer')

  $new_answer.on('ajax:success',((evt, data, status, xhr)->
    $new_answer.hide()
    $('.open').show()
  ))

  $new_answer.on('ajax:error',((evt, data, status, xhr)->
    $(this).addClass("error")

    ))

$(document).on("click", ".new_answer > INPUT[type='submit']", coment_error($(this)))
$(document).on("click", ".new_comment > INPUT[type='submit']", coment_error($(this)))
4

1 回答 1

2

我认为问题在于最后两行立即执行该函数,而不是在调用事件时。

$(document).on("click", ".new_answer > INPUT[type='submit']", coment_error)

此外,您不希望comment_error 收到“that”,因为“this”将自动绑定到单击的元素。所以你可以直接得到 $this = $(this)。

于 2013-10-09T19:08:54.183 回答